I dag annoncerede den schweiziske startup , der bruger kunstig intelligens og maskinlæring til at automatisere analysen af programmeringskode, at de har modtaget en investering på 4 millioner dollars fra risikokapitalfondene Earlybird, 3VC og Btov Partners. Virksomheden planlægger at bruge disse midler til at implementere support for nye programmeringssprog i deres service samt til marketing af produktet på det globale IT-marked.

Kodeanalyse er nødvendig for at opdage fejl, potentielle sårbarheder, overtrædelser af gældende formateringsstandarder og meget mere i de tidlige faser af softwareudviklingen, før koden anvendes noget sted. Denne procedure udføres normalt parallelt med udviklingen af ny kode og umiddelbart efter den er færdig, som forberedelse til selve testfasen. "Softwaretest ser på koden udefra, men kodeanalyse giver dig mulighed for at se på den indefra," forklarer medstifter og administrerende direktør for DeepCode, Boris Paskalev, i et interview med VentureBeat.
Ofte udføres kodegennemgang af dens forfattere sammen med kolleger og ledere for at identificere åbenlyse fejl, før man går videre til de næste udviklingsfaser. Jo større projektet er, desto flere linjer kode skal kontrolleres, hvilket tager en betydelig mængde tid for programmører. Der har længe været værktøjer, der skal fremskynde denne proces, såsom statiske kodeanalysatorer som Coverity og PVS-Studio, men de har ofte begrænsninger, da de fokuserer på "irriterende og gentagne stilproblemer, formatering og små logiske fejl," forklarer Paskalev.
DeepCode dækker et bredere spektrum af problemer, som for eksempel at opdage sårbarheder som cross-site scripting og SQL-injektioner, fordi de algoritmer, der er indarbejdet, ikke blot analyserer koden som en sekvens af tegn, men forsøger at forstå meningen og formålet med det skrevne program. Bag dette ligger et maskinlæringssystem, der bruger milliarder af linjer kode fra offentlige open source-projekter til sin træning. DeepCode analyserer tidligere versioner af koden og de ændringer, der er blevet foretaget, for at studere, hvordan reelle programmører har rettet fejl, og derefter tilbyde lignende løsninger til sine brugere. Derudover anvender systemet også traditionelle forudsigelsesalgoritmer til at finde mulige problemer i koden, der ligner de ovenfor nævnte statiske analysatorer.
Et af de centrale spørgsmål ved brugen af DeepCode er: Hvor pålidelig er den automatiske kodekontrol? En nøjagtighed under 100 % betyder, at udviklerne stadig er nødt til at analysere deres kode manuelt. I så fald, hvor meget tid vil brugen af værktøjer til automatisering af denne opgave faktisk frigøre? Ifølge Paskelev kan DeepCode spare udviklerne cirka 50 % af den tid, de i øjeblikket bruger på selv at finde fejl, hvilket er en betydelig besparelse.
Udviklere kan tilknytte DeepCode til deres kontoer på GitHub eller Bitbucket, og værktøjet understøtter også lokale GitLab-konfigurationer. Derudover har projektet et specielt API, der gør det muligt for udviklere at integrere DeepCode i deres egne udviklingssystemer. Efter tilslutning til repository vil DeepCode analysere hver ændring i koden og fremhæve potentielle problemer.

„I gennemsnit bruger udviklere cirka 30 % af deres tid på at finde og rette fejl, men DeepCode kan allerede nu spare halvdelen af denne tid, og i fremtiden endnu mere,” siger Boris. „Da DeepCode lærer direkte fra det globale udviklersamfund, er det i stand til at opdage flere problemer, end én enkelt person eller en hel gruppe af anmeldere nogensinde kunne finde.“
Udover dagens nyhed om investeringer har DeepCode også annonceret en ny værdifuld politik for sit produkt. Indtil nu har DeepCode været gratis kun for open source softwareprojekter. Nu vil det dog være gratis at bruge til alle uddannelsesmæssige formål og endda for kommercielle virksomheder med færre end 30 udviklere. Det er tydeligt, at DeepCodes skaberne ønsker at gøre deres produkt mere populært blandt små teams. Derudover opkræver DeepCode 20 dollars pr. udvikler om måneden ved implementering af løsningen i skyen og 50 dollars pr. udvikler for lokal support.
Tidligere har DeepCode-teamet allerede modtaget investeringer på 1 million dollars. Med yderligere 4 millioner har virksomheden erklæret, at de planlægger at udvide de sprog, de understøtter, ud over Java, JavaScript og Python, herunder at tilføje understøttelse af C#, PHP og C/C++. De har også bekræftet, at de arbejder på deres egen integrerede udviklingsmiljø.
Kilde: 3dnews.ru
