Programmering

DeepCode bringer AI-drevet kodevurdering til C og C ++

DeepCode, skytjenesten som bruker maskinlæring til å analysere kodebaser for sikkerhetsfeil og potensielle feil, kan nå analysere C- og C ++ -koden.

Opplært ved å analysere tusenvis av åpen kildekode-prosjekter, gir DeepCode tilbakemelding for prosjekter i kodehostingsplattformer eller lokale arkiver. DeepCodes skapere hevder at det gir bedre og mer detaljert tilbakemelding enn tradisjonelle kodeanalyseverktøy fordi den analyserer kode i sammenheng - ikke bare som tekst, men som programvare som kjører.

De fleste av sårbarhetene som finnes i programvare, vises i C- eller C ++ -kodebaser. Så kraftige som de to språkene er, de gir liten eller ingen beskyttelse mot utviklerfeil, og nyere versjoner av disse språkene er tvunget til å beholde bakoverkompatibilitet og dermed forbli sårbare.

DeepCodes kunnskapsbase om problemer omfatter mange vanlige problemer som finnes i C og C ++, så vel som andre språk: stilproblemer, ressurslekkasjer, minnetildelingsproblemer, problemer med datahåndtering og inkompatibilitet på tvers av versjoner av et språk.

I en analyse av Linux-kjernen fant DeepCode en rekke vanlige problemer i C-kodebaser, inkludert usanitiserte parametere som ble sendt fra kommandolinjeargumenter eller miljøvariabler, problemer etter bruk og manglende kontroller for nullpekere. Andre problemer i C-koden er mer subtile, som usikker oppretting av midlertidige filer, eller muligheten for at visse instruksjoner kan optimaliseres i kompilering og ikke har den tiltenkte effekten.

Da den opprinnelig ble lansert, støttet DeepCode Java, JavaScript, TypeScript og Python, men planene lå på bordet for C, C ++ og andre språk. I følge blogginnlegget som kunngjorde C / C ++ -støtte, tok kodeanalyse for C og C ++ tre måneders arbeid på grunn av kompleksiteten som involverte C / C ++ 's lavtliggende funksjoner.

$config[zx-auto] not found$config[zx-overlay] not found