Täna kuulutas Šveitsi idufirma , mis kasutab tehisintellekti ja masinõpet, et automatiseerida programmikoodi analüüsi, et saanud 4 miljoni dollari suuruseid investeeringuid riskikapitalifondidelt Earlybird, 3VC ja Btov Partners. Ettevõte plaanib kasutada saadud vahendeid uute programmeerimiskeelte toe integreerimiseks oma teenusesse ning ka toote turundamiseks globaalsetel IT-turgudel.

Koodi analüüs on vajalik vigade, võimalike turvaaukude, tavapäraste vormindamisreeglite rikkumiste ja paljude muude asjade tuvastamiseks arenduse varajastes etappides, enne kui kood kuskil kasutusele võetakse. Tavaliselt viiakse see protseduur läbi paralleelselt uue koodi arendamisega ja kohe pärast selle valmimist, eelnevalt testimise etapi. "Tarkvara testimine vaatab koodi väljastpoolt, kuid koodi analüüs võimaldab teil sellele sisse vaadata," selgitab DeepCode'i kaasasutaja ja tegevjuht Boris Paskalev väljaandele VentureBeat antud intervjuus.
Tavaliselt teevad koodi kontrollimist selle autorid koos kolleegide ja juhtidega, et tuvastada silmatorkavaid vigu, enne kui edasi liigutakse arenduse järgmistele etappidele. Ja mida suurem on projekt, seda rohkem koodirekke tuleb kontrollida, mis nõuab arendajatelt märkimisväärset aega. Tööriistad, mis peaksid seda protsessi kiirendama, on juba olemas olnud piisavalt kaua, näiteks staatilised koodi analüsaatorid nagu Coverity ja PVS-Studio, kuid nad on reeglina oma võimalustes piiratud, kuna nad keskenduvad "rahutust ja korduvatele stiiliprobleemidele, vormindamisele ja väikestele loogilistele vigadele," selgitab Paskalev.
DeepCode katab ühtlasemalt laiemat probleemide spektrit, näiteks tuvastades haavatavusi, nagu cross-site scripting ja SQL süstimine. Sisseehitatud algoritmid analüüsivad koodi mitte lihtsalt sümbolite kogumina, vaid püüavad mõista, mida ja milleks kirjutatud programm teeb. Selle aluseks on masinõppe süsteem, mis kasutab oma koolitamiseks miljardeid koodiridu avalike avatud allikate projektidest. DeepCode analüüsib koodi eelnevaid versioone ja hilisemaid muudatusi, et uurida, milliseid vigu ning kuidas reaalsed programmeerijad oma töös parandasid, et seejärel pakkuda oma kasutajatele sarnaseid lahendusi. Lisaks kasutab süsteem ka traditsioonilisi prognoosimisalgoritme, et leida koodis võimalikke probleeme, podobne varem mainitud staatiliste analüsaatorite leidmismeetoditega.
Üks peamisi küsimusi DeepCode'i kasutamise korral on: kui usaldusväärne on automaatne koodi kontroll? Analüüsi täpsus, mis on alla 100%, tähendab, et arendajad peavad siiski oma koodi käsitsi analüüsima. Kui palju aega tõeliselt vabastavad automatiseerimise tööriistade kasutamine? Paskev ütles, et DeepCode suudab säästa arendajate umbes 50% ajast, mida nad praegu veavad vigade leidmiseks ise, mis on üsna arvestatav number.
Arendajad saavad ühendada DeepCode oma GitHubi või Bitbucket’i kontodega, samuti toetab tööriist kohalikke GitLabi konfigureerimisi. Projektil on ka spetsiaalne API, mis võimaldab arendajatel integreerida DeepCode oma arendussüsteemidesse. Pärast hoidlas ühendamist analüüsib DeepCode iga koodimuudatust ja märgib potentsiaalsed probleemid.

„Keskmiselt kulutavad arendajad umbes 30% oma ajast vigade leidmisele ja parandamisele, kuid DeepCode suudab juba praegu säästa pooled sellest ajast ning tulevikus veelgi rohkem,“ väidab Boris. „Kuna DeepCode õpib otse maailmas arendajate kogukonnast, on ta võimeline leidma rohkem probleeme kui kunagi varem suudaks leida üks inimene või terve rikka analüütikute grupp.”
Lisaks tänasele investeeringu uudisele teatas DeepCode ka oma toote uue hinna- ja kasutuspoliitika kohta. A varem oli DeepCode tasuta ainult avatud lähtekoodiga tarkvaraprojektide jaoks. Nüüd on see tasuta kasutamiseks kõikides hariduslikel eesmärkidel ning isegi kaubanduslikele ettevõtetele, millel on alla 30 arendaja. Näib, et DeepCode'i loojad soovivad selle sammuga muuta oma toote väikeste meeskondade seas populaarsemaks. Lisaks küsib DeepCode pilveteenuste kasutamise eest 20 dollarit arendaja kohta kuus ja 50 dollarit arendaja kohta kohaliku toe eest.
Varem oli DeepCode'i meeskond juba saanud 1 miljoni dollari ulatuses investeeringuid. Saades veel 4 miljonit, teatas ettevõte, et kavatseb laiendada toetatavaid programmeerimiskeeli, lisaks Java, JavaScript ja Python, sealhulgas C#, PHP ja C/C++ toe lisamist. Nad kinnitasid ka, et töötavad oma integreeritud arenduskeskkonna kallal.
Allikas: 3dnews.ru
