DeepCode troverà errori nel codice sorgente del software utilizzando l'IA

Oggi una startup svizzera DeepCode, che utilizza intelligenza artificiale e machine learning per automatizzare l'analisi del codice sorgente, ha annunciato di aver ricevuto investimenti per un totale di 4 milioni di dollari da fondi di venture capital Earlybird, 3VC e Btov Partners. L'azienda prevede di utilizzare questi fondi per implementare il supporto per nuovi linguaggi di programmazione nel proprio servizio, oltre a promuovere il prodotto sul mercato IT globale.

DeepCode troverà errori nel codice sorgente del software utilizzando l'IA

L'analisi del codice è necessaria per identificare errori, potenziali vulnerabilità, violazioni delle convenzioni stilistiche e molto altro nelle fasi iniziali dello sviluppo software, prima che il codice venga utilizzato altrove. Di solito, questa procedura viene effettuata parallelamente allo sviluppo di nuovo codice e subito dopo il completamento, precedendo la fase di testing vero e proprio. "Il testing del software guarda al codice dall'esterno, mentre l'analisi del codice permette di esaminarlo dall'interno", spiega Boris Paskalev, cofondatore e CEO di DeepCode, in un'intervista a VentureBeat.

La verifica del codice viene solitamente effettuata dai suoi autori insieme a colleghi e manager per identificare errori evidenti prima di passare alle fasi successive dello sviluppo. Maggiore è il progetto, maggiori saranno le righe di codice da controllare, il che richiede un notevole investimento di tempo da parte dei programmatori. Strumenti per velocizzare questo processo esistono già da tempo, come gli analizzatori statici di codice, ad esempio Coverity e PVS-Studio, ma di solito sono limitati nelle loro funzionalità, poiché si concentrano su «problemi stilistici fastidiosi e ripetitivi, formattazione e piccoli errori logici», spiega Paschalov.

DeepCode, d'altra parte, affronta un'ampia gamma di problemi, rilevando vulnerabilità come le opportunità per cross-site scripting e SQL injection, poiché gli algoritmi incorporati non analizzano semplicemente il codice come un insieme di simboli, ma cercano di comprendere il significato e l'obiettivo del programma scritto. Alla base di questo c'è un sistema di apprendimento automatico che utilizza per il suo addestramento miliardi di righe di codice provenienti da progetti open source accessibili. DeepCode analizza le versioni precedenti del codice e le modifiche successive apportate, per studiare quali errori e come sono stati corretti da programmatori reali nel loro lavoro e poi suggerire soluzioni simili ai propri utenti. Inoltre, il sistema utilizza anche algoritmi tradizionali di previsione per individuare possibili problemi nel codice simili a quelli rilevati dagli analizzatori statici sopra menzionati.

Una delle domande chiave nell'utilizzo di DeepCode è: quanto è affidabile il controllo automatico del codice? Un'accuratezza dell'analisi inferiore al 100% significa che gli sviluppatori dovranno comunque analizzare manualmente il proprio codice. In tal caso, quanto tempo libereranno veramente gli strumenti di automazione di questa attività? Secondo Pascal, DeepCode potrebbe far risparmiare agli sviluppatori circa il 50% del tempo che attualmente spendono a cercare errori da soli, una cifra piuttosto significativa.

Gli sviluppatori possono collegare DeepCode ai propri account GitHub o Bitbucket, e l'algoritmo supporta anche le configurazioni locali di GitLab. Inoltre, il progetto dispone di un'API speciale che consente agli sviluppatori di integrare DeepCode nei propri sistemi di sviluppo. Dopo il collegamento al repository, DeepCode analizzerà ogni modifica al codice e segnalerà potenziali problemi.

DeepCode troverà errori nel codice sorgente del software utilizzando l'IA

«In media, gli sviluppatori dedicano circa il 30 % del loro tempo alla ricerca e alla risoluzione di errori, ma DeepCode può ridurre questo tempo della metà già adesso, e ancora di più in futuro», afferma Boris. «Poiché DeepCode impara direttamente dalla comunità globale degli sviluppatori, è in grado di identificare più problemi di quanti ne possa trovare una sola persona o un'intera squadra di revisori».

Oltre all'annuncio di oggi riguardante l'ottenimento di investimenti, DeepCode ha anche annunciato una nuova politica di prodotto interessante. Fino ad ora, DeepCode era gratuito solo per progetti di sviluppo software open source. Ora sarà gratuito per l'uso in qualsiasi scopo educativo e anche per aziende commerciali con meno di 30 sviluppatori. È evidente che con questa mossa i creatori di DeepCode vogliono rendere il loro prodotto più popolare tra i piccoli team. Inoltre, DeepCode addebita 20 dollari al mese per sviluppatore per l'implementazione della soluzione nel cloud e 50 dollari al mese per sviluppatore per supporto locale.

In precedenza, il team di DeepCode aveva già ricevuto investimenti per 1 milione di dollari. Con ulteriori 4 milioni, l'azienda ha dichiarato che intende espandere i linguaggi di programmazione supportati oltre a Java, JavaScript e Python, includendo anche il supporto per C#, PHP e C/C++. Hanno inoltre confermato di essere al lavoro su un ambiente di sviluppo integrato proprietario.



Fonte: 3dnews.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster