At skrive kode er kun det første skridt i at skabe noget. At gennemgå din kode for fejl og rette dem er tidskrævende og tager ofte længere tid end forventet, men er ikke desto mindre et vigtigt skridt.

Hvis bare der var en måde til automatisk at rette fejl, der går ud over syntaksfejl og virkelig forstår intentionerne bag din kode.

For nylig udviklede Microsoft en AI, der er i stand til at opdage og rette fejl i kode ved hjælp af dyb læring. Men hvordan opstod dette stykke revolutionerende teknologi, og hvordan fungerer det?

Hvad er BugLab, og hvordan virker det?

BugLab er en kunstig intelligens Python-implementering, der jager efter og retter fejl i kode. Det er udviklet af Miltos Alamanis og Marc Brockschmidt, to forskere ved Microsoft Research. Det lykkedes dem at overvinde manglen på mærkede data, der ofte bruges i maskinelæring ved at ty til selvovervåget læring og lade BugLab træne sig selv gennem et "skjul-og-søg"-spil med kodelinjer.

BugLab blev trænet ved hjælp af to computermodeller; en, der skjuler fejl i korrekte kodestykker, og en anden, der søger og retter fejlene. Begge modeller lærer løbende af hinanden. Med tiden bliver fejlvælgeren bedre til at skjule fejl i koden, og detektoren bliver bedre til at fange og rette dem.

instagram viewer

Forstå koden med BugLab

De fleste fejl, som BugLab AI er trænet til at opdage og rette, resulterer ikke i logiske fejl, men er kun forkerte som følge af kodens generelle kontekst. Det er vigtigt at forstå udviklerens hensigt for at finde disse fejl.

Behandling af kodestykker på samme måde som behandling af naturlige sprog giver suboptimale resultater. Det er stadig svært for AI at forstå forholdet mellem forskellige udsagn, når de er opdelt i individuelle tokens.

I stedet ser BugLab på koden som en helhed. På den måde er hver syntaks, udtryk, symbol og identifikator repræsenteret som punkter i en graf, hvilket gør det muligt for AI at "forstå" forbindelsen og forholdet mellem forskellige noder.

Neurale netværksarkitekturer bruges derefter til at træne debugging AI. De er i stand til at trække indsigt fra kodegrafens rige struktur og give årsager til hver nodes forhold til de andre.

Virker BugLab på Real-Life Code?

Det er vigtigt at bemærke, at BugLab ikke er en erstatning for en dygtig programmør. Det skyldes, at komplekse fejl stadig ikke er inden for rækkevidde.

Microsofts mål med AI er at opdage og rette almindeligt forekommende fejl såsom forkerte boolske operatører, som brugen af ​​"eller" i stedet for "og" og omvendt, foruden inverterede værdisammenligninger og variable misbruger.

Ifølge Microsoft, resultaterne er lovende, da BugLab er i stand til at opdage og automatisk rette omkring 26 procent af fejl i et stykke kode. Alligevel går en betydelig procentdel af nøjagtigheden stadig tabt på grund af falske positiver og mistede fejl.

Fremtidige applikationer af Microsoft BugLab

Microsofts mål med BugLab er at spare softwareudviklere tid, ofte brugt på at gennemgå deres kode på at lede efter de mindste fejl.

Mens AI-fejlretningsmodellen stadig er under arbejde, har den chancen for finde og rette fejl der spænder alt fra ubelejligt til katastrofalt. Men om et par år kan du forvente, at BugLab bliver et must i enhver udviklers værktøjssæt, selvom det ikke er perfekt.

Den eksponentielle udvikling af selvlærende AI

Jo mere tid AI-modeller som BugLab har til at træne på eksempler fra det virkelige liv, jo bedre og mere nøjagtige resultater vil de give.

En af de mest udfordrende forhindringer, Microsoft-forskere stod over for, mens de udviklede BugLab, var at bruge en menneskelig forståelse af kode og intention i værktøjet. Men nu hvor det for det meste er løst, kan du forvente, at BugLab bliver bedre med tiden.

Deep Learning vs. Machine Learning vs. AI: Hvordan går de sammen?

Forsøger du at finde ud af forskellen mellem kunstig intelligens, machine learning og deep learning? Her er hvad de alle betyder.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Programmering
  • Microsoft
  • Kodningstip
  • Kunstig intelligens
Om forfatteren
Anina Ot (89 artikler udgivet)

Anina er freelance skribent inden for teknologi og internetsikkerhed hos MakeUseOf. Hun begyndte at skrive i cybersikkerhed for 3 år siden i håb om at gøre det mere tilgængeligt for den gennemsnitlige person. Opsat på at lære nye ting og en kæmpe astronomi-nørd.

Mere fra Anina Ot

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere