Microsoft udvikler AI, der kan finde fejl i kode

Ikon for læsetid 2 min. Læs


Læsere hjælper med at understøtte MSpoweruser. Vi får muligvis en kommission, hvis du køber via vores links. Værktøjstip-ikon

Læs vores oplysningsside for at finde ud af, hvordan du kan hjælpe MSPoweruser med at opretholde redaktionen Læs mere

Forskere hos Microsoft har udviklet en AI, som kan finde fejl i kode, og hjælper udviklere med at fejlsøge deres applikationer mere præcist og effektivt.

Forskerne Miltos Allamanis, Principal Researcher og Marc Brockschmidt, Senior Principal Research Manager udviklede deres AI, BugLabs, stort set på samme måde som Generative Adversarial Networks (GAN'er) skabes.

Microsoft satte to netværk mod hinanden – et designet til at introducere små bugs i eksisterende kode og et andet med henblik på at finde disse fejl. De to netværk blev bedre og bedre, hvilket resulterede i en AI, der var god til at identificere fejl gemt i rigtig kode.

Fordelen ved denne tilgang var, at processen var fuldstændig selvovervåget og ikke behøvede mærkede data.

De rapporterer resultaterne som nedenfor:

I teorien kunne vi anvende gemmeleg spillet bredt og lære en maskine at identificere vilkårligt komplekse fejl. Sådanne fejl er dog stadig uden for rækkevidde af moderne AI-metoder. I stedet koncentrerer vi os om et sæt almindeligt forekommende fejl. Disse omfatter forkerte sammenligninger (f.eks. brug af "<=" i stedet for "<" eller ">"), forkerte boolske operatorer (f.eks. brug af "og" i stedet for "eller" og omvendt), variable misbrug (f.eks. forkert brug af "i" i stedet for "j") og et par andre. For at teste vores system fokuserer vi på Python-kode.

Når vores detektor er trænet, bruger vi den til at opdage og reparere fejl i den virkelige kode. For at måle ydeevne annoterer vi manuelt et lille datasæt af fejl fra pakker i Python Package Index med sådanne fejl og viser, at modeller trænet med vores "skjul-og-søg"-metode er op til 30 % bedre sammenlignet med andre alternativer, f.eks. detektorer trænet med tilfældigt indsatte fejl. Resultaterne er lovende og viser, at omkring 26 % af fejlene kan findes og rettes automatisk. Blandt de fejl, vores detektor fandt, var 19 hidtil ukendte fejl i den virkelige open source GitHub-kode. Resultaterne viste dog også mange falske positive advarsler, hvilket tyder på, at der er behov for yderligere fremskridt, før sådanne modeller praktisk taget kan implementeres.

De konkluderer, at deres tilgang er lovende, selvom der selvfølgelig er behov for meget mere arbejde for at gøre sådanne detektorer pålidelige til praktisk brug. Givet Microsofts GPT-3 arbejde på GitHub dog er det meget muligt, at dette arbejde kan blive kommercialiseret i sidste ende.

Læs hele deres papir link..

Mere om emnerne: ai, udviklere, microsoft

Giv en kommentar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *