Nieuwe techniek vindt bugs in objectgeoriënteerde talen

Publicatiedatum
16 december 2013

CWI-onderzoeker Stijn de Gouw heeft een nieuwe techniek ontwikkeld voor het opsporen van bugs in software geschreven in objectgeoriënteerde talen zoals Java. In een eerste test stelde de techniek de correctheid vast van complexe software van e-commerce softwarebedrijf SDL Fredhopper. De Grouw verdedigt zijn proefschrift Combining Monitoring with Run-time Assertion Checking op 18 december 2013 aan de Universiteit Leiden. Zijn onderzoek is uitgevoerd op het CWI en het Leiden Institute of Advanced Computer Science (LIACS) van de Universiteit Leiden.

Volgens recent onderzoek veroorzaken software bugs jaarlijks voor 312 miljard dollar aan schade. Het voorkomen, isoleren en oplossen van bugs is daarom van groot belang. Eén methode om dit te doen is Run-Time Checking, een techniek die fouten opspoort tijdens het draaien van de code en het programma stopt zodra een ernstige fout optreedt. In objectgeoriënteerde talen zoals Java communiceren objecten met elkaar via berichten. Voor zulke talen controleert Run-Time Checking ofwel of de objecten in de juiste volgorde communiceren (Monitoring) ofwel of de inhoud van de berichten correct is (Run-Time Assertion Checking). De techniek die De Gouw heeft ontwikkeld met behulp van metaprogrammeertaal Rascal, combineert deze twee benaderingen op een unieke manier door slim gebruik te maken van een zogenaamde attributengrammatica.

De nieuwe techniek is getest in samenwerking met SDL Fredhopper, een e-commerce softwarebedijf dat achter de schermen van meer dan 300 van de grootste webshops ter wereld actief is. De methode was in staat cruciale en complexe onderdelen van het Fredhopper Access Server (FAS) te testen, een softwaresysteem dat IT-services voor zoekopdrachten en merchandise biedt aan e-commercebedrijven. Het was de eerste keer dat de correctheid van deze software kon worden vastgesteld.

 

Proefschrift: Combining Monitoring with Run-time Assertion Checking
Door: Stijn de Gouw (Universiteit Leiden en CWI)
Promoters: Prof. dr. F.S. de Boer (CWI en UL) and dr. M. Bonsangue (CWI en UL)
Date: 18 december 2013, 10.00h
Place: Academiegebouw Universiteit Leiden