Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

CI Spark: test fuzzing con l'AI per la programmazione

CI Spark un assistente basato sulla AI che sfrutta un modello linguistico per creare automaticamente test di programmazione
CI Spark: test fuzzing con l'AI per la programmazione
CI Spark un assistente basato sulla AI che sfrutta un modello linguistico per creare automaticamente test di programmazione
Link copiato negli appunti

CI (Code Intelligence) ha lanciato un nuovo progetto chiamato CI Spark, un assistente basato sull'Intelligenza Artificiale che sfrutta un modello linguistico per la creazione automatica di test dedicati alla programmazione. Stando a quanto dichiarato dagli sviluppatori della compagnia, questa soluzione consentirebbe un risparmio di tempo, e un incremento di produttività, pari a circa 15 volte rispetto alla creazione manuale dei test.

CI Spark fuzzing

CI Spark è particolarmente indicato per le operazioni basate sul fuzzing. Cioè sui test che oltre a verificare che gli input inviati restituiscano gli output attesi evidenziano anche la presenza di potenziali rischi di sicurezza. Il fuzzing infatti non prevede soltanto l'invio di input predeterminati ma anche di input casuali. Quelli che gli sviluppatori potrebbero non aver previsto durante la stesura del codice.

Il tool di CI nasce grazie ad una collaborazione con Google che a sua volta ha migliorato il progetto OSS-Fuzz tramite l'utilizzo di LLM (Large Language Model). OSS-Fuzz è dedicato alla sicurezza delle applicazioni Open Source e utilizza il fuzzing in due fasi differenti. Nel corso della prima viene prodotto il codice attraverso un prompt. Se quest'ultimo fallisce, in fase di compilazione viene generato automaticamente un altro prompt per la correzione del problema.

Come funziona CI Spark

Oltre a creare automaticamente fuzz test, CI Spark è in grado di identificare automaticamente gli entry point per questi ultimi. Permette inoltre di migliorare il funzionamento di test preesistenti e supporta già diversi linguaggi di programmazione tra cui anche Java, C, C++, JavaScript e TypeScript. I primi test di funzionamento sono stati effettuati su codici Java e JavaScript dimostrando che un progetto che prima avrebbe richiesto almeno 3 giorni di lavoro può essere effettuato in poche ore.

Attualmente esistono già degli assistenti basati sulle AI che permettono di effettuare operazioni di unit testing, come per esempio GitHub Copilot. Il mercato di questo settore, almeno in ambito enterprise, è quindi in piena fase di espansione.

Ti consigliamo anche