Astăzi, startup-ul elvețian , care folosește inteligența artificială și învățarea automatizată pentru a automatiza analiza codului sursă, a anunțat primirea unei investiții de 4 milioane de dolari din partea fondurilor de risc Earlybird, 3VC și Btov Partners. Compania își propune să utilizeze aceste fonduri pentru a implementa suport pentru noi limbi de programare în serviciul său, precum și pentru marketingul produsului pe piața IT globală.

Analiza codului este esențială pentru identificarea erorilor, vulnerabilităților potențiale, abaterilor de la stilul de formatare acceptat și multe altele, în etapele incipiente ale dezvoltării software-ului, înainte de a folosi codul în orice alt loc. De obicei, această procedură se desfășoară în paralel cu dezvoltarea de cod nou și imediat după finalizarea acestuia, precedând etapa de testare propriu-zisă. «Testarea software-ului analizează codul din exterior, dar analiza codului îți permite să te uiți la el din interior», explică co-fondatorul și directorul general al DeepCode, Boris Paskalev, într-un interviu pentru publicația VentureBeat.
Cea mai frecventă verificare a codului este realizată de autorii săi împreună cu colegii și managerii pentru a identifica erorile evidente înainte de a trece la etapele următoare ale dezvoltării. Cu cât proiectul este mai mare, cu atât mai multe linii de cod trebuie verificate, ceea ce consumă un timp semnificativ pentru programatori. Instrumentele care ar trebui să accelereze acest proces există deja de ceva vreme, cum ar fi analizatoarele statice de cod, precum Coverity și PVS-Studio, dar acestea sunt, de obicei, limitate în capabilitățile lor, deoarece se concentrează pe «problemele stilistice deranjante și repetitive, formatarea și mici erori logice», explică Paskalev.
DeepCode, pe de altă parte, acoperă un spectru mai larg de probleme, detectând vulnerabilități cum ar fi posibilitățile de scripting între site-uri și injecțiile SQL, deoarece algoritmii săi nu analizează doar codul ca pe un set de caractere, ci încearcă să înțeleagă sensul și scopul lucrării programului scris. La baza acestuia se află un sistem de învățare automată care își bazează învățarea pe miliarde de linii de cod din proiecte publice cu sursă deschisă. DeepCode analizează versiunile anterioare ale codului și modificările ulterioare aduse acestuia pentru a studia ce erori au fost corectate de programatori în activitatea lor, propunând ulterior soluții similare utilizatorilor săi. În plus, sistemul utilizează și algoritmi tradiționali de predicție pentru a căuta probleme posibile în cod, asemănătoare cu cele menționate mai sus de analizatorii statici.
Una dintre întrebările cheie atunci când se folosește DeepCode este: cât de fiabilă este verificarea automată a codului? O acuratețe a analizei de sub 100 % înseamnă că dezvoltatorii vor trebui, totuși, să analizeze manual codul lor. În astfel de cazuri, câte timp va elibera, de fapt, utilizarea instrumentelor de automatizare pentru această sarcină? Conform lui Paschal, DeepCode va putea economisi dezvoltatorilor aproximativ 50 % din timpul pe care în prezent îl alocă căutării de erori, ceea ce este o cifră considerabilă.
Dezvoltatorii pot conecta DeepCode la conturile lor de GitHub sau Bitbucket, iar instrumentul suportă, de asemenea, configurațiile locale GitLab. În plus, proiectul dispune de un API dedicat care permite dezvoltatorilor să integreze DeepCode în sistemele lor de dezvoltare. După conectarea la repository, DeepCode va analiza fiecare modificare a codului și va semnala problemele potențiale.

„În medie, dezvoltatorii petrec aproximativ 30 % din timpul lor căutând și corectând erori, dar DeepCode poate economisi jumătate din acest timp deja acum, iar în viitor și mai mult,” afirmă Boris. „Deoarece DeepCode învață direct de la comunitatea globală de dezvoltatori, acesta este capabil să descopere mai multe probleme decât a putut vreodată să găsească o singură persoană sau întreaga echipă de recenzori.”
Pe lângă vestea de astăzi despre obținerea de investiții, DeepCode a anunțat și o nouă politică de prețuri pentru produsul său. Până acum, DeepCode era gratuit doar pentru proiectele de dezvoltare software cu sursă deschisă. Acum, va fi gratuit pentru utilizare în scopuri educative și chiar pentru companiile comerciale cu mai puțin de 30 de dezvoltatori. Este evident că acest pas este menit să facă produsul DeepCode mai popular în rândul echipelor mici. În plus, DeepCode percepe 20 de dolari pe dezvoltator pe lună pentru implementarea soluției în cloud și 50 de dolari pe dezvoltator pentru suportul local.
Anterior, echipa DeepCode a obținut deja investiții în valoare de 1 milion de dolari. Cu încă 4 milioane, compania a declarat că intenționează să extindă limbile de programare pe care le susține, pe lângă Java, JavaScript și Python, inclusiv să adauge suport pentru C#, PHP și C/C++. De asemenea, au confirmat că lucrează la propriul mediu de dezvoltare integrat.
Sursa: 3dnews.ru
