DeepCode će pronaći greške u izvornom kodu softvera koristeći AI

Danas švicarski startup DeepCode, koja koristi umjetnu inteligenciju i mašinsko učenje za automatizaciju analize koda, objavila je da je dobila 4 miliona dolara ulaganja od rizičnih fondova Earlybird, 3VC i Btov Partners. Ova sredstva kompanija planira iskoristiti za uvođenje podrške za nove programske jezike u svoju uslugu, kao i za plasiranje proizvoda na globalno IT tržište.

DeepCode će pronaći greške u izvornom kodu softvera koristeći AI

Analiza koda je neophodna za otkrivanje grešaka, potencijalnih ranjivosti, kršenja formatiranja i još mnogo toga u ranoj fazi razvoja softvera, prije nego što se kod bilo gdje koristi. Obično se ovaj postupak provodi paralelno sa razvojem novog koda i odmah nakon njegovog završetka, prethodeći samoj fazi testiranja. „Testiranje softvera posmatra kod izvana, ali analiza koda vam omogućava da ga pogledate iznutra“, objašnjava suosnivač i izvršni direktor DeepCodea Boris Paskalev u intervjuu za VentureBeat.

Najčešće pregled koda vrše njegovi autori zajedno sa kolegama i menadžerima kako bi se identifikovale očigledne greške pre nego što se pređe na sledeće faze razvoja. I što je projekat veći, potrebno je provjeriti više linija koda, što programerima oduzima značajnu količinu vremena. Alati koji bi trebalo da ubrzaju ovaj proces postoje već dugo vremena, kao što su statički analizatori koda kao što su Coverity i PVS-Studio, ali oni imaju tendenciju da budu ograničeni u svojim mogućnostima jer se fokusiraju na „dosadne i ponavljajuće stilske probleme, formatiranje i male logičke greške”, objašnjava Paskalev.

DeepCode, zauzvrat, pokriva širi spektar problema, na primjer, otkrivanje ranjivosti kao što su mogućnosti za skriptiranje na više lokacija i SQL injekcije, budući da algoritmi ugrađeni u njega ne analiziraju samo kod kao skup znakova, već pokušavaju da razumiju značenje i svrhu rada pisanih programa. U srcu ovoga je sistem mašinskog učenja koji za obuku koristi milijarde linija koda iz javno dostupnih projekata otvorenog koda. DeepCode analizira prethodne verzije koda i naknadne izmjene koje su u njemu napravljene kako bi proučio koje greške i kako su pravi programeri ispravili svoj rad, a zatim svojim korisnicima nudi slična rješenja. Pored toga, sistem takođe koristi tradicionalne algoritme predviđanja da pronađe moguće probleme u kodu, poput statičkih analizatora pomenutih gore.

Jedno od ključnih pitanja kada se koristi DeepCode je: koliko je pouzdan automatski pregled koda? Točnost analize manja od 100% znači da će programeri i dalje morati ručno analizirati svoj kod. Ako je tako, koliko vremena će korištenje alata za automatizaciju ovog zadatka zapravo osloboditi? Prema Paskalevu, DeepCode će moći uštedjeti programerima oko 50% vremena koje trenutno provode tražeći greške sami, što je prilično značajna brojka.

Programeri mogu povezati DeepCode sa svojim GitHub ili Bitbucket računima, a alat također podržava lokalne GitLab konfiguracije. Pored toga, projekat ima poseban API koji omogućava programerima da integrišu DeepCode u sopstvene razvojne sisteme. Kada se poveže sa spremištem, DeepCode će analizirati svaku promjenu koda i označiti potencijalne probleme.

DeepCode će pronaći greške u izvornom kodu softvera koristeći AI

„U prosjeku, programeri troše oko 30% svog vremena na pronalaženje i ispravljanje grešaka, ali DeepCode može uštedjeti polovinu tog vremena sada, a još više u budućnosti“, kaže Boris. “Budući da DeepCode uči direktno od globalne zajednice programera, on je u stanju da pronađe više problema nego što bi jedna osoba ili cijela grupa recenzenata ikada mogla pronaći.”

Pored današnje vijesti o ulaganju, DeepCode je najavio i novu politiku vrijednosti za svoj proizvod. Do sada je DeepCode bio besplatan samo za projekte razvoja softvera otvorenog koda. Sada će biti besplatan za korištenje u bilo koje obrazovne svrhe, pa čak i za komercijalne kompanije s manje od 30 programera. Očigledno, ovim korakom kreatori DeepCode-a žele svoj proizvod učiniti popularnijim među malim timovima. Osim toga, DeepCode naplaćuje 20 USD po programeru mjesečno za implementaciju u oblaku i 50 USD po programeru za lokalnu podršku.

Ranije je DeepCode tim već primio investicije od milion dolara. Sa još 1 miliona, kompanija je rekla da planira proširiti programske jezike koje podržava izvan Jave, JavaScripta i Pythona, uključujući dodavanje podrške za C#, PHP i C/C++. Također su potvrdili da rade na vlastitom integriranom razvojnom okruženju.



izvor: 3dnews.ru

Dodajte komentar