Overslaan en naar de inhoud gaan

Einde aan softwarebugs lijkt in zicht

Prophet is ontwikkeld aan het Massachusetts Institute of Technology door Fan Long en Martin Rinard. De wetenschappers pasten de techniek van machineleren toe om het succes bij het automatisch genereren van patches te vergroten. Prophet werd voor dat doel gevoed met 777 programmeerfouten en de verbeteringen daarvan in 8 veelgebruikte opensource-applicaties die via GitHub gepubliceerd zijn.
Tech & Toekomst
Shutterstock
Shutterstock

Gewapend met die kennis blijkt Prophet een stuk effectiever bij het repareren van fouten dan bestaande automatische patchprogramma's. Bij een test op 8 andere opensource-applicaties in GitHub met 69 bugs wist Prophet er 15 tot 18 automatisch te herkennen en repareren; hoe langer Prophet de tijd kreeg, hoe meer fouten het correct repareerde. Bestaande automatische patchprogramma's die het zonder 'voorkennis' moeten stellen, kwamen niet verder dan 1 of 2. Prophet voert zijn kunsten bovendien ook correct uit bij grote applicaties tot een miljoen regels code of meer. Eerdere systemen kunnen meestal niet meer dan 100 regels code aan. Omdat de correctheid van een patch ook afhangt van de vraag of die niet tot problemen elders in het programma leidt, maakt Prophet ook op dit vlak dus een belangrijke stap vooruit.

Nog niet perfect

Maar al is een verbetering met een factor 10 een heuse prestatie, uit de getallen valt ook af te leiden dat voor het foutvrij maken van software nog een weg is af te leggen. Anderzijds: Prophet en vergelijkbare systemen kunnen natuurlijk bijleren. En de meest hoopvolle conclusie is wellicht dat goede code kennelijk universele eigenschappen heeft. Want anders had Prophet zijn kunde bij het repareren van code van één set applicaties niet kunnen opdoen uit het bestuderen van al gerepareerde bugs in een andere set. Als wetenschappers erin slagen te herkennen wat correcte code is, of beter nog een systeem weten te ontwikkelen dat dat kan, krijgt dat een enorm positief effect op software-ontwikkeling.

Fan Long en Martin Rinard geven een uitgebreide beschrijving van hun ontwikkelingswerk in de paper Automatic Patch Generation by Learning Correct Code.

Gerelateerde artikelen
Gerelateerde artikelen

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