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

Oggi una startup svizzera Codice profondo, che utilizza l'intelligenza artificiale e l'apprendimento automatico per automatizzare l'analisi del codice, ha annunciato di aver ricevuto 4 milioni di dollari di investimenti dai fondi di venture capital Earlybird, 3VC e Btov Partners. L'azienda prevede di utilizzare questi fondi per introdurre nel proprio servizio il supporto per nuovi linguaggi di programmazione, nonché per commercializzare il prodotto sul mercato IT globale.

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

L'analisi del codice è necessaria per rilevare errori, potenziali vulnerabilità, violazioni di formattazione e altro ancora nelle prime fasi dello sviluppo del software, prima che il codice venga utilizzato ovunque. Tipicamente questa procedura viene svolta parallelamente allo sviluppo del nuovo codice e subito dopo il suo completamento, precedendo la fase di testing vera e propria. "I test del software esaminano il codice dall'esterno, ma l'analisi del codice ti consente di guardarlo dall'interno", spiega Boris Paskalev, cofondatore e CEO di DeepCode, in un'intervista a VentureBeat.

Molto spesso, la revisione del codice viene eseguita dai suoi autori insieme a colleghi e manager al fine di identificare errori evidenti prima di passare alle fasi successive di sviluppo. E più grande è il progetto, più righe di codice devono essere controllate, il che richiede una notevole quantità di tempo da parte dei programmatori. Gli strumenti che dovrebbero accelerare questo processo esistono da molto tempo, come gli analizzatori di codice statici come Coverity e PVS-Studio, ma tendono ad essere limitati nelle loro capacità poiché si concentrano su “problemi stilistici fastidiosi e ripetitivi, formattazione e piccoli errori logici”, spiega Paskalev.

DeepCode, a sua volta, copre una gamma più ampia di problemi, ad esempio rilevando vulnerabilità come opportunità di cross-site scripting e SQL injection, poiché gli algoritmi incorporati in esso non si limitano ad analizzare il codice come un insieme di caratteri, ma cercano di comprendere il significato e lo scopo dei programmi scritti di lavoro. Al centro di tutto questo c’è un sistema di apprendimento automatico che utilizza miliardi di righe di codice provenienti da progetti open source disponibili al pubblico per la sua formazione. DeepCode analizza le versioni precedenti del codice e le successive modifiche apportate ad esso per studiare quali errori e come i veri programmatori hanno corretto il loro lavoro, per poi offrire soluzioni simili ai suoi utenti. Inoltre, il sistema utilizza anche algoritmi di previsione tradizionali per individuare eventuali problemi nel codice, come gli analizzatori statici sopra menzionati.

Una delle domande chiave quando si utilizza DeepCode è: quanto è affidabile la revisione automatica del codice? Una precisione di analisi inferiore al 100% significa che gli sviluppatori dovranno comunque analizzare manualmente il proprio codice. In tal caso, quanto tempo verrà effettivamente liberato utilizzando gli strumenti per automatizzare questa attività? Secondo Paskalev, DeepCode sarà in grado di far risparmiare agli sviluppatori circa il 50% del tempo che attualmente impiegano per cercare errori da soli, il che è una cifra piuttosto significativa.

Gli sviluppatori possono connettere DeepCode ai propri account GitHub o Bitbucket e lo strumento supporta anche le configurazioni GitLab locali. Inoltre, il progetto ha un'API speciale che consente agli sviluppatori di integrare DeepCode nei propri sistemi di sviluppo. Una volta connesso al repository, DeepCode analizzerà ogni modifica al codice e contrassegnerà potenziali problemi.

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

"In media, gli sviluppatori dedicano circa il 30% del loro tempo alla ricerca e alla correzione dei bug, ma DeepCode può far risparmiare la metà di quel tempo ora, e anche di più in futuro", afferma Boris. "Poiché DeepCode apprende direttamente dalla comunità globale di sviluppatori, è in grado di individuare più problemi di quanti una persona o un intero gruppo di revisori potrebbe mai trovare."

Oltre alla notizia odierna di aver ricevuto investimenti, DeepCode ha anche annunciato una nuova politica di valore per il suo prodotto. Fino ad ora, DeepCode era gratuito solo per progetti di sviluppo di software open source. Ora potrà essere utilizzato gratuitamente per qualsiasi scopo didattico e anche per le aziende commerciali con meno di 30 sviluppatori. Ovviamente, con questo passo, i creatori di DeepCode vogliono rendere il loro prodotto più popolare tra i piccoli team. Inoltre, DeepCode addebita $ 20 per sviluppatore al mese per l'implementazione nel cloud e $ 50 per sviluppatore per il supporto locale.

In precedenza, il team DeepCode aveva già ricevuto investimenti per 1 milione di dollari. Con altri 4 milioni, la società ha dichiarato di voler espandere i linguaggi di programmazione supportati oltre Java, JavaScript e Python, includendo l'aggiunta del supporto per C#, PHP e C/C++. Hanno inoltre confermato che stanno lavorando al proprio ambiente di sviluppo integrato.



Fonte: 3dnews.ru

Aggiungi un commento