DeepCode će pomoću umjetne inteligencije pronaći pogreške u izvornom kodu softvera

Danas švicarski startup DeepCode, koji koristi umjetnu inteligenciju i strojno učenje za automatizaciju analize koda, objavio je da je primio 4 milijuna dolara ulaganja od rizičnih fondova Earlybird, 3VC i Btov Partners. Ova sredstva tvrtka 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 pomoću umjetne inteligencije pronaći pogreške u izvornom kodu softvera

Analiza koda je neophodna za otkrivanje pogreš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 s razvojem novog koda i neposredno nakon što je dovršen, prethodeći samoj fazi testiranja. "Testiranje softvera promatra kod izvana, ali analiza koda omogućuje vam da ga pogledate iznutra", objašnjava suosnivač i izvršni direktor DeepCodea Boris Paskalev u intervjuu za VentureBeat.

Najčešće pregled koda provode njegovi autori zajedno s kolegama i menadžerima kako bi identificirali očite pogreške prije prelaska na sljedeće faze razvoja. A što je veći projekt, potrebno je provjeriti više linija koda, što programerima oduzima značajnu količinu vremena. Alati koji bi trebali ubrzati ovaj proces prisutni su već duže vrijeme, poput statičkih analizatora koda kao što su Coverity i PVS-Studio, ali imaju tendenciju da budu ograničeni u svojim mogućnostima jer su usredotočeni na "dosadne i ponavljajuće stilske probleme, formatiranje i male logičke pogreške”, objašnjava Paskalev.

DeepCode, zauzvrat, pokriva širi raspon problema, na primjer, otkrivanje ranjivosti kao što su prilike za skriptiranje na više mjesta i ubacivanje SQL-a, budući da algoritmi ugrađeni u njega ne analiziraju samo kod kao skup znakova, već pokušavaju razumjeti smisao i svrhu rada napisanih programa. U središtu toga je sustav strojnog učenja koji za svoju obuku koristi milijarde linija koda iz javno dostupnih projekata otvorenog koda. DeepCode analizira prethodne verzije koda i naknadne izmjene koje su u njega unesene kako bi proučio koje su pogreške i kako su stvarni programeri ispravili svoj rad, a zatim ponudio slična rješenja svojim korisnicima. Osim toga, sustav također koristi tradicionalne algoritme predviđanja za pronalaženje mogućih problema u kodu, poput gore spomenutih statičkih analizatora.

Jedno od ključnih pitanja kada koristite 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 će vremena korištenje alata za automatizaciju ovog zadatka zapravo osloboditi? Prema Paskalevu, DeepCode će programerima moći uštedjeti oko 50% vremena koje trenutno troše na samostalno traženje grešaka, š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. Osim toga, projekt ima poseban API koji programerima omogućuje integraciju DeepCodea u vlastite razvojne sustave. Nakon povezivanja s repozitorijem, DeepCode će analizirati svaku promjenu koda i označiti potencijalne probleme.

DeepCode će pomoću umjetne inteligencije pronaći pogreške u izvornom kodu softvera

"Programeri u prosjeku potroše oko 30% svog vremena na pronalaženje i popravljanje grešaka, ali DeepCode može uštedjeti polovicu tog vremena sada, a još više u budućnosti", kaže Boris. "Budući da DeepCode uči izravno od globalne zajednice programera, može pronaći više problema nego što bi ih jedna osoba ili cijela grupa recenzenata ikada mogla pronaći."

Uz današnju vijest o primanju ulaganja, DeepCode je također najavio 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 koju obrazovnu svrhu, pa čak i za komercijalne tvrtke s manje od 30 programera. Očito, ovim korakom tvorci DeepCodea žele svoj proizvod učiniti popularnijim među malim timovima. Dodatno, DeepCode naplaćuje 20 USD po programeru mjesečno za implementaciju u oblaku i 50 USD po programeru za lokalnu podršku.

Prethodno je DeepCode tim već primio ulaganja od milijun dolara. S još 1 milijuna, tvrtka 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