DeepCode bo z AI našel napake v izvorni kodi programske opreme

Danes švicarski startup DeepCode, ki uporablja umetno inteligenco in strojno učenje za avtomatizacijo analize kode, je objavil, da je prejel 4 milijone dolarjev naložbe skladov tveganega kapitala Earlybird, 3VC in Btov Partners. Podjetje namerava s temi sredstvi uvesti podporo za nove programske jezike v svoje storitve, pa tudi za trženje izdelka na svetovnem IT trgu.

DeepCode bo z AI našel napake v izvorni kodi programske opreme

Analiza kode je potrebna za odkrivanje napak, morebitnih ranljivosti, kršitev oblikovanja in več v zgodnji fazi razvoja programske opreme, preden se koda kjer koli uporabi. Običajno se ta postopek izvaja vzporedno z razvojem nove kode in takoj po njegovem zaključku, pred samo fazo testiranja. "Testiranje programske opreme gleda na kodo od zunaj, vendar vam analiza kode omogoča, da jo pogledate od znotraj," pojasnjuje soustanovitelj in izvršni direktor DeepCode Boris Paskalev v intervjuju za VentureBeat.

Najpogosteje pregled kode izvajajo avtorji skupaj s sodelavci in vodji, da bi ugotovili očitne napake, preden preidejo na naslednje stopnje razvoja. In večji kot je projekt, več vrstic kode je treba preveriti, kar programerjem vzame veliko časa. Orodja, ki bi morala pospešiti ta proces, so na voljo že dolgo časa, na primer statični analizatorji kode, kot sta Coverity in PVS-Studio, vendar so v svojih zmožnostih običajno omejene, saj se osredotočajo na »nadležne in ponavljajoče se slogovne težave, oblikovanje in majhne logične napake,« pojasnjuje Paskalev.

DeepCode pa pokriva širši nabor težav, na primer odkrivanje ranljivosti, kot so priložnosti za skriptiranje med spletnimi mesti in vbrizgavanje SQL, saj algoritmi, vdelani vanj, kode ne analizirajo le kot nabor znakov, ampak poskušajo razumejo pomen in namen dela napisanih programov. V središču tega je sistem strojnega učenja, ki za svoje usposabljanje uporablja milijarde vrstic kode iz javno dostopnih odprtokodnih projektov. DeepCode analizira prejšnje različice kode in poznejše spremembe, ki so bile narejene vanjo, da preuči, katere napake in kako so resnični programerji popravili svoje delo, ter nato ponudi podobne rešitve svojim uporabnikom. Poleg tega sistem uporablja tudi tradicionalne algoritme napovedovanja za iskanje morebitnih težav v kodi, kot so zgoraj omenjeni statični analizatorji.

Eno od ključnih vprašanj pri uporabi DeepCode je: kako zanesljiv je samodejni pregled kode? Natančnost analize, manjša od 100 %, pomeni, da bodo morali razvijalci svojo kodo še vedno analizirati ročno. Če je tako, koliko časa bo dejansko sprostila uporaba orodij za avtomatizacijo te naloge? Po mnenju Paskaleva bo DeepCode razvijalcem prihranil približno 50% časa, ki ga trenutno porabijo za samostojno iskanje napak, kar je precejšnja številka.

Razvijalci lahko povežejo DeepCode s svojimi računi GitHub ali Bitbucket, orodje pa podpira tudi lokalne konfiguracije GitLab. Poleg tega ima projekt poseben API, ki razvijalcem omogoča integracijo DeepCode v lastne razvojne sisteme. Ko se poveže z repozitorijem, bo DeepCode analiziral vsako spremembo kode in označil morebitne težave.

DeepCode bo z AI našel napake v izvorni kodi programske opreme

»V povprečju razvijalci porabijo približno 30 % svojega časa za iskanje in odpravljanje napak, vendar lahko DeepCode prihrani polovico tega časa zdaj in še več v prihodnosti,« pravi Boris. »Ker se DeepCode uči neposredno od svetovne skupnosti razvijalcev, lahko najde več težav, kot bi jih lahko našla ena oseba ali celotna skupina ocenjevalcev.«

Poleg današnje novice o prejemu naložbe je DeepCode objavil tudi novo vrednostno politiko za svoj izdelek. Do zdaj je bil DeepCode brezplačen le za projekte razvoja odprtokodne programske opreme. Zdaj bo brezplačen za uporabo v kakršne koli izobraževalne namene in celo za komercialna podjetja z manj kot 30 razvijalci. Očitno želijo ustvarjalci DeepCode s tem korakom narediti svoj izdelek bolj priljubljen med majhnimi ekipami. Poleg tega DeepCode zaračuna 20 USD na razvijalca na mesec za uvedbo v oblaku in 50 USD na razvijalca za lokalno podporo.

Pred tem je ekipa DeepCode že prejela naložbe v višini 1 milijona dolarjev. Z dodatnimi 4 milijoni je podjetje dejalo, da namerava razširiti programske jezike, ki jih podpira, poleg Jave, JavaScripta in Pythona, vključno z dodajanjem podpore za C#, PHP in C/C++. Potrdili so tudi, da delajo na lastnem integriranem razvojnem okolju.



Vir: 3dnews.ru

Dodaj komentar