Martin de Boer wint 'Best Paper Award'
Collega Martin de Boer slaagde vorig jaar augustus cum laude voor zijn Master Software Engineering aan de Open Universiteit. Een mooie studie die hij volgde naast zijn baan als software developer bij New Nexus. Aansluitend werd hij door zijn supervisor benaderd om in het verlengde van zijn afstudeeronderzoek een wetenschappelijk artikel te schrijven. Het onderwerp: de formele analyse van de OpenJDK implementatie van het Java Collections Framework.
En met succes! Want vorige week werd zijn onderzoek tijdens de 17th International Conference on Integrated Formal Methods (iFM 2022) in Lugano, Zwitserland beloond met de ‘Best Paper Award’. Wij zijn natuurlijk apetrots op hem en zijn topprestatie. Maar waarom doe je zoiets?
In the flow
Martin: ‘Jaren geleden volgde ik aan de De Open Universiteit (OU) een aantal losse cursussen. Gewoon omdat de onderwerpen van de cursussen me interesseerden en goed bij mijn vakgebied aansloten. Door het volgen van deze cusussen had ik al een aardig deel van de Bachelorstudie Informatica afgerond. Ik besloot toen de ‘gaten’ in te vullen door de nog openstaande studiepunten te halen, en rondde in augustus 2018 de Bachelor Informatica af. De studie MSc Software Engineering was daarop een logisch vervolg. En aangezien ik ‘in the flow’ zat besloot ik deze studie er gelijk achteraan te doen.’
Hernieuwde aandacht voor oud software engineeringsprincipe
‘Tijdens mijn afstudeeropdracht heb ik een hash map uit het Java Collections Framework formeel geanalyseerd. Dat is meteen een mooi voorbeeld van een oud software enigeeringsprincipe, waar in de jaren ’60 van de van de vorige eeuw al wetenschappelijke artikelen over werden geschreven. Tegenwoordig hebben computers genoeg rekenkracht om zware verificatietools op te draaien, waarmee (althans, in de academische wereld) hernieuwde aandacht voor het onderwerp is ontstaan.’
Co-auteurs
‘Aanvankelijk deed ik het onderzoek grotendeels alleen, onder begeleiding van mijn supervisor bij de OU. Op zijn aanraden heb ik contact gelegd met een aantal experts op het gebied van formele analyse in Karlsruhe. Deze mensen ontwikkelden de ’theorem prover’ KeY (*2), waar ik tijdens mijn onderzoek gebruik van maakte. Zij waren geïnteresseerd in mijn ervaringen met KeY, en ik kreeg van hen tips bij mijn aanpak. Uiteindelijk werden zij ook de co-auteurs van het wetenschappelijk paper dat is gepubliceerd in Springer Nature.‘
Bugs gefixt
‘En passant hebben we zelfs nog een paar bugs in KeY gevonden en gefixt. Ook vonden we een paar bugs en zwakheden in de IdentityHashMap. De belangrijkste daarvan zijn in nieuwere versies van Java inmiddels gefixt, dus die spelen alleen nog in applicaties die in Java 7 of ouder zijn ontwikkeld.’
Goede manier om scherp te blijven
‘Ik houd er van om nieuwe dingen te leren, en heb er daarom vooral veel plezier aan beleefd. Studeren is een goede manier om scherp te blijven. Ik leerde een hoop theorie achter dingen die je eigenlijk dagelijks ‘gewoon zo doet’, zonder dat je je goed realiseert waarom. Andersom leverde mijn praktijkervaring ook voordelen op in de studie. Zo heb ik voor extra studiepunten zelfs meegeschreven aan nieuw cursusmateriaal voor een Java-module in het Bachelorprogramma Informatica van de OU.’
Anders doen
‘Of ik mijn werk nu anders ga doen? Formele analyse is, denk ik persoonlijk, (nog) niet iets dat wij bij onze klanten snel zullen toepassen. Het is erg tijdrovend en nauwgezet werk, en daarom met name geschikt om toe te passen op softwarebibliotheken die wereldwijd veel worden gebruikt. Wel ben ik me (nog) meer bewust geworden van hoe makkelijk er bugs in software sluipen, en hoe dramatisch de gevolgen van bugs kunnen zijn.’