Microsoft utvikler AI som kan finne feil i kode

Ikon for lesetid 2 min. lese


Lesere hjelper til med å støtte MSpoweruser. Vi kan få provisjon hvis du kjøper gjennom lenkene våre. Verktøytipsikon

Les vår avsløringsside for å finne ut hvordan du kan hjelpe MSPoweruser opprettholde redaksjonen Les mer

Forskere ved Microsoft har utviklet en AI som kan finne feil i kode, og hjelper utviklere med å feilsøke applikasjonene sine mer nøyaktig og effektivt.

Forskerne Miltos Allamanis, hovedforsker og Marc Brockschmidt, Senior Principal Research Manager utviklet sin AI, BugLabs, omtrent på samme måte som Generative Adversarial Networks (GANs) er opprettet.

Microsoft satte to nettverk mot hverandre – ett designet for å introdusere små bugs i eksisterende kode og et annet rettet mot å finne disse feilene. De to nettverkene ble bedre og bedre, noe som resulterte i en AI som var flink til å identifisere feil skjult i ekte kode.

Fordelen med denne tilnærmingen var at prosessen var fullstendig selvovervåket, og ikke trengte merkede data.

De rapporterer resultatene som nedenfor:

I teorien kan vi bruke gjemsel-spillet bredt, og lære en maskin å identifisere vilkårlig komplekse feil. Imidlertid er slike feil fortsatt utenfor rekkevidden av moderne AI-metoder. I stedet konsentrerer vi oss om et sett med ofte forekommende feil. Disse inkluderer ukorrekte sammenligninger (f.eks. bruk av «<=» i stedet for «<» eller «>»), feilaktige boolske operatorer (f.eks. bruk av «og» i stedet for «eller» og omvendt), variabel misbruk (f.eks. feil bruk av "i" i stedet for "j") og noen få andre. For å teste systemet vårt fokuserer vi på Python-kode.

Når detektoren vår er opplært, bruker vi den til å oppdage og reparere feil i virkelige kode. For å måle ytelsen merker vi manuelt et lite datasett med feil fra pakker i Python Package Index med slike feil og viser at modeller som er trent med vår "gjem-og-søk"-metode er opptil 30 % bedre sammenlignet med andre alternativer, f.eks. detektorer trent med tilfeldig innsatte feil. Resultatene er lovende, og viser at omtrent 26 % av feilene kan bli funnet og fikset automatisk. Blant feilene vår detektor fant var 19 tidligere ukjente feil i ekte åpen kildekode GitHub-kode. Resultatene viste imidlertid også mange falske positive advarsler, noe som tyder på at ytterligere fremskritt er nødvendig før slike modeller praktisk talt kan implementeres.

De konkluderer med at tilnærmingen deres er lovende, selv om det selvfølgelig trengs mye mer arbeid for å gjøre slike detektorer pålitelige for praktisk bruk. Gitt Microsofts GPT-3-arbeid på GitHub Det er imidlertid godt mulig at dette arbeidet kan bli kommersialisert etter hvert.

Les hele papiret deres her..

Mer om temaene: ai, utviklere, microsoft