Microsofts nye AI-værktøj advarer mod dårlig kildekode
Microsoft-forskere har udviklet en løsning med kunstig intelligens (AI), som de mener kan hjælpe programmører med at debugge deres applikationer hurtigere og mere præcist. AI’en, der kaldes BugLab, minder om den måde, som såkaldte generative adversarial network (GAN) fungerer på.
Forskerne Miltos Allamanis, der er Principal Researcher, og Marc Brockschmidt, der er Senior Principal Research Manager, forklarer i et blogindlæg, hvordan de skabte to netværk og satte dem op mod hinanden.
Se også: Hvad kan man med kunstig intelligens?
AI trænes til at finde fejl i kode
Det ene netværk er designet til at skabe fejl – både store og små – i eksisterende kode, mens det andet er skabt til at finde dem. Efterhånden som spillet fortsætter, og begge netværk bliver bedre til det, kommer AI’en til et punkt, hvor den er god nok til at identificere fejl, der er gemt i den faktiske kode.
De to modeller blev trænet i fællesskab, uden mærkede data, med “millioner af kodestumper”, forklarer forskerne.
Selv om idéen var at skabe et program, der kan identificere vilkårligt komplekse fejl, er disse stadig uden for rækkevidde for moderne AI-metoder, hævder forskerne. I stedet fokuserede de på almindeligt forekommende fejl såsom ukorrekte sammenligninger, forkert brug af variabler og lignende fejl.
Testen blev udført på kode skrevet i Python, og efter at have trænet appen var det tid til at teste den i det virkelige liv.
Se også: Hvilken betydning har software for samfundet?
30 procent bedre end andre alternativer
“For at måle ydeevnen 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 “gemmeleg”-metode er op til 30 procent bedre sammenlignet med andre alternativer,” tilføjes det i bloggen.
Duoen beskrev resultaterne som “lovende”, da omkring en fjerdedel (26 procent) af fejlene kunne findes og rettes automatisk. Desuden var der blandt de fundne fejl 19 tidligere ukendte fejl.
Metoden er endnu ikke helt fejlfri og viste mange falske positiver, men de to programmører og forskere slår i hvert fald fast, at det er en grundlæggende opgave inden for AI-forskningen at skabe modeller inden for deep learning, der lærer at opdage og udbedre fejl.
Se også: Nyheder om software