Overslaan en naar de inhoud gaan

Nieuwe aanpak belooft bugfinding en -fixing veel goedkoper te maken

Vorige week presenteerden twee onderzoekers van Microsoft een nieuwe methode om fouten in software op te sporen en automatisch te repareren. Dat model zou het proces makkelijker en goedkoper moeten maken. Het interessante is dat bij de opzet geen gebruik is gemaakt van training op bekende softwarefouten.
bug fix
© Shutterstock
Shutterstock

Het ontdekken en repareren van fouten in software is ondanks de vele tools die beschikbaar zijn, nog altijd een tijdrovende klus. Bovendien blijken bestaande processen daarvoor verre van perfect te zijn. Kwetsbaarheden worden nogal eens gemist en blijken soms al jarenlang in productiecode te zitten. Daarom is er een voortdurende zoektocht gaande naar methoden om dat proces te verbeteren. De inzet van kunstmatige intelligentie biedt daarbij nieuwe mogelijkheden.

De twee onderzoekers - die de resultaten van hun aanpak vorige week uit de doeken deden op de conferentie Neural Information Processing Systems (NeurIPS) 2021 - gebruikten een bijzondere methode om hun AI-model te trainen. Doorgaans worden modellen getraind op grote sets met gelabelde data. Voornaam probleem voor het vinden van bugs in softwarecode is echter dat er wel veel gegevens zijn van bugs, maar dat die zijn niet geannoteerd.

19 niet eerder gerapporteerde bugs

Daarom is gekozen voor een methode met twee modellen, leggen de onderzoekers uit in een blogpost. Het ene model selecteert een bug en introduceert die in bekende software. Het andere model spoort vervolgens de fout weer op en repareert deze automatisch. Het BugLab-model dat zo werd getraind, was in staat 2374 fouten op te sporen in een verzameling Python-code die actief in gebruik is. Daarvan waren er 19 niet eerder gevonden. 11 daarvan zijn gemeld op GitHub. 6 fixes zijn al verwerkt en 5 zijn nog in behandeling. De rest was te onbeduidend om er werk van te maken.

Het model kon 26% van het totaal aantal gevonden bugs automatisch repareren.

Nog wel veel valse positieven

Een probleem waarvoor nog wel een oplossing moet worden gevonden, is dat het model veel valse positieven oplevert. Er worden dus fouten in de code ontdekt terwijl dat helemaal geen bugs zijn. Zo gaf het model in een experiment maar liefst 1000 waarschuwingen terwijl het maar in 19 gevallen een fout betrof. Hier is dus nog ontwikkelwerk te verzetten om deze scheve verhouding te fixen.

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in