DeepCode hittar fel i programvarans källkod med hjälp av AI

Idag en schweizisk startup DeepCode, som använder artificiell intelligens och maskininlärning för att automatisera kodanalys, meddelade att de har fått 4 miljoner dollar i investeringar från riskfonderna Earlybird, 3VC och Btov Partners. Företaget planerar att använda dessa medel för att introducera stöd för nya programmeringsspråk i sin tjänst, samt för att marknadsföra produkten på den globala IT-marknaden.

DeepCode hittar fel i programvarans källkod med hjälp av AI

Kodanalys är nödvändig för att upptäcka fel, potentiella sårbarheter, formateringsöverträdelser och mer tidigt i mjukvaruutvecklingen, innan koden används någonstans. Vanligtvis utförs denna procedur parallellt med utvecklingen av ny kod och omedelbart efter att den är klar, före själva teststeget. "Programvarutestning tittar på kod från utsidan, men kodanalys gör att du kan titta på den från insidan", förklarar DeepCodes medgrundare och VD Boris Paskalev i en intervju med VentureBeat.

Oftast utförs kodgranskning av dess författare tillsammans med kollegor och chefer för att identifiera uppenbara fel innan man går vidare till nästa utvecklingsstadium. Och ju större projektet är, desto fler rader kod måste kontrolleras, vilket tar upp en betydande del av programmerarnas tid. Verktyg som borde påskynda denna process har funnits länge, såsom statiska kodanalysatorer som Coverity och PVS-Studio, men de tenderar att vara begränsade i sina möjligheter eftersom de fokuserar på "irriterande och repetitiva stilistiska frågor, formatering och små logiska fel”, förklarar Paskalev.

DeepCode täcker i sin tur ett bredare spektrum av problem, till exempel att upptäcka sårbarheter som möjligheter till cross-site scripting och SQL-injektion, eftersom algoritmerna som är inbäddade i den inte bara analyserar koden som en uppsättning tecken, utan försöker förstå innebörden och syftet med de arbetsskrivna programmen. Kärnan i detta är ett maskininlärningssystem som använder miljarder rader kod från offentligt tillgängliga projekt med öppen källkod för sin utbildning. DeepCode analyserar tidigare versioner av koden och efterföljande ändringar som gjorts i den för att studera vilka fel och hur riktiga programmerare korrigerade sitt arbete, och sedan erbjuda liknande lösningar till sina användare. Dessutom använder systemet också traditionella prediktionsalgoritmer för att hitta möjliga problem i koden, som de statiska analysatorerna som nämns ovan.

En av nyckelfrågorna när du använder DeepCode är: hur tillförlitlig är den automatiska kodgranskningen? En analysnoggrannhet på mindre än 100 % innebär att utvecklare fortfarande måste analysera sin kod manuellt. Om så är fallet, hur mycket tid kommer det att frigöra att använda verktyg för att automatisera denna uppgift? Enligt Paskalev kommer DeepCode att kunna spara utvecklare cirka 50 % av den tid de för närvarande spenderar på att söka efter fel på egen hand, vilket är en ganska betydande siffra.

Utvecklare kan ansluta DeepCode till sina GitHub- eller Bitbucket-konton, och verktyget stöder även lokala GitLab-konfigurationer. Dessutom har projektet ett speciellt API som tillåter utvecklare att integrera DeepCode i sina egna utvecklingssystem. När de är anslutna till förvaret kommer DeepCode att analysera varje kodändring och flagga potentiella problem.

DeepCode hittar fel i programvarans källkod med hjälp av AI

"I genomsnitt spenderar utvecklare cirka 30 % av sin tid på att hitta och fixa buggar, men DeepCode kan spara hälften av den tiden nu och ännu mer i framtiden", säger Boris. "Eftersom DeepCode lär sig direkt från den globala communityn av utvecklare, kan den hitta fler problem än en person eller en hel grupp granskare någonsin kunde hitta."

Utöver dagens nyheter om att ta emot investeringar tillkännagav DeepCode också en ny värdepolicy för sin produkt. Fram till nu har DeepCode bara varit gratis för utvecklingsprojekt med öppen källkod. Nu kommer det att vara gratis att använda för alla utbildningsändamål och även för kommersiella företag med färre än 30 utvecklare. Uppenbarligen, med detta steg, vill skaparna av DeepCode göra sin produkt mer populär bland små team. Dessutom tar DeepCode $20 per utvecklare och månad för molninstallation och $50 per utvecklare för lokal support.

Tidigare hade DeepCode-teamet redan fått investeringar på 1 miljon dollar. Med ytterligare 4 miljoner sa företaget att det planerar att utöka de programmeringsspråk som det stöder utöver Java, JavaScript och Python, inklusive att lägga till stöd för C#, PHP och C/C++. De bekräftade också att de arbetar med sin egen integrerade utvecklingsmiljö.



Källa: 3dnews.ru

Lägg en kommentar