Å skrive kode er bare det første trinnet i å skape noe. Å kjemme gjennom koden for feil og fikse dem er tidkrevende og tar ofte lengre tid enn forventet, men er likevel et viktig skritt.
Hvis det bare var en måte å automatisk fikse feil som går utover syntaksfeil og som virkelig forstår intensjonene bak koden din.
Nylig utviklet Microsoft en AI som er i stand til å oppdage og fikse feil i kode ved hjelp av dyp læring. Men hvordan ble denne revolusjonerende teknologien til, og hvordan fungerer den?
Hva er BugLab, og hvordan fungerer det?
BugLab er en kunstig intelligens Python-implementering som leter etter og fikser feil i kode. Den ble utviklet av Miltos Alamanis og Marc Brockschmidt, to forskere ved Microsoft Research. De klarte å overvinne mangelen på merkede data som ofte brukes i maskinlæring ved å ty til selvovervåket læring og la BugLab trene seg selv gjennom et "gjem-og-søk"-spill med kodelinjer.
BugLab ble trent ved hjelp av to datamodeller; en som skjuler feil innenfor riktige kodebiter, og en annen som søker og retter feilene. Begge modellene lærer kontinuerlig av hverandre. Over tid blir feilvelgeren bedre til å skjule feil i koden, og detektoren blir flinkere til å fange opp og fikse dem.
Forstå koden med BugLab
Flertallet av feilene som BugLab AI er opplært til å oppdage og fikse, resulterer ikke i logiske feil, men er bare feil som et resultat av den generelle konteksten til koden. Å forstå utviklerens hensikt er avgjørende for å finne disse feilene.
Å behandle kodebiter på samme måte som å behandle naturlige språk gir suboptimale resultater. Det er fortsatt vanskelig for AI å forstå forholdet mellom ulike utsagn når de er delt inn i individuelle tokens.
I stedet ser BugLab på koden som en helhet. På den måten blir hver syntaks, uttrykk, symbol og identifikator representert som punkter i en graf, slik at AI kan "forstå" sammenhengen og forholdet mellom ulike noder.
Nevrale nettverksarkitekturer brukes deretter til å trene feilsøkings-AI. De er i stand til å hente inn innsikt fra den rike strukturen til kodegrafen og gi grunner for hver nodes forhold til de andre.
Fungerer BugLab med virkelighetskode?
Det er viktig å merke seg at BugLab ikke er en erstatning for en dyktig programmerer. Det er fordi komplekse feil fortsatt ikke er innen rekkevidde.
Microsofts mål med AI er å oppdage og fikse vanlig forekommende feil som ukorrekte boolske operatører, som bruken av "eller" i stedet for "og" og omvendt, i tillegg til inverterte verdisammenligninger og variabel misbruk.
I følge Microsoft, er resultatene lovende, ettersom BugLab er i stand til å oppdage og automatisk fikse rundt 26 prosent av feilene i et stykke kode. Likevel går en betydelig prosentandel av nøyaktigheten fortsatt tapt på grunn av falske positiver og tapte feil.
Fremtidige applikasjoner av Microsoft BugLab
Microsofts mål med BugLab er å spare programvareutviklere for tid, ofte brukt på å gå gjennom koden deres på jakt etter de minste feilene.
Mens AI-feilsøkingsmodellen fortsatt er under arbeid, har den muligheten til finne og fikse feil som varierer fra upraktisk til katastrofal. Men om noen år kan du forvente at BugLab blir et must i alle utvikleres verktøysett, selv om det ikke er perfekt.
Den eksponentielle utviklingen av selvlærende AI
Jo mer tid AI-modeller som BugLab har til å trene på eksempler fra virkeligheten, jo bedre og mer nøyaktige resultater vil de gi.
En av de mest utfordrende hindringene Microsoft-forskere møtte under utviklingen av BugLab var å bruke en menneskelig forståelse av kode og intensjoner i verktøyet. Men nå som det meste er løst, kan du forvente at BugLab blir bedre med tiden.
Prøver du å finne ut forskjellen mellom kunstig intelligens, maskinlæring og dyp læring? Her er hva de alle betyr.
Les Neste
- Programmering
- Microsoft
- Kodetips
- Kunstig intelligens

Anina er en frilans skribent innen teknologi og internettsikkerhet hos MakeUseOf. Hun begynte å skrive i cybersikkerhet for 3 år siden i håp om å gjøre det mer tilgjengelig for den gjennomsnittlige personen. Lyst på å lære nye ting og en stor astronominerd.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere