Onderzoeker Paul Klint aan het Centrum Wiskunde & Informatica (CWI) schiet elke dag gaten in softwareprogramma’s. Die zijn moeilijk te onderhouden lang niet efficiënt genoeg. Bedrijven moeten nog wennen aan deze betweterij op Science Park Amsterdam. Maar Klint laat zich niet van de wijs brengen. ‘Software is vaak te groot en te complex.’
De onderzoeksgroep van Paul Klint ontwikkelt methodes om software te toetsen op kwaliteitseisen en fouten. Ook beoordeelt hij de mate waarin software te onderhouden is. Zijn onderzoek is maatschappelijk essentieel. Forensisch analyseonderzoek, een nieuwe tak van sport in de onderzoeksgroep, helpt bijvoorbeeld bij het vangen van boeven. ‘Wanneer de politie de computer van een crimineel in beslag neemt, proberen wij de gewiste data te reconstrueren. Dit kunnen videobestanden met kinderporno zijn of half gewiste Excelsheets met relevante data.’
Klint is hoofd Software Engineering aan het Centrum Wiskunde & Informatica en leider van de onderzoeksgroep Software Analysis and Transformation. ‘De effectiviteit van software heeft altijd met de programmeertaal te maken’, zegt hij. ‘Als je die verbetert, verbetert het hele softwareprogramma. We hebben bijvoorbeeld een taal gemaakt voor een bank om rentegebaseerde producten te definiëren. Leen jij geld van de bank, of leent de bank geld aan jou? Wat voor soort rente- en aflossingsschema is er? De ontwikkeltijd van hun softwareproducten is gedaald van een half jaar naar enkele weken.’
Voor alle onderzoek gebruikt Klint generieke taaltechnologie. ‘Die is niet afhankelijk van een specifieke programmeertaal. Je kunt er alle programmeertalen zoals Java of C# mee bestuderen.’ De onderzoeker probeert softwareprogramma’s kleiner te maken, waardoor kwaliteit en productiviteit beter worden. ‘Het probleem van software is vaak dat het enorm complex en groot is’, vervolgt Klint.
Het CWI doet fundamenteel onderzoek, maar luistert wel naar vragen uit de praktijk. ‘Ik probeer de hele pijplijn van onderzoek en onderwijs tot de toepassing van onderzoeksresultaten te begrijpen. Het is onthutsend als je ziet dat relevante problemen uit de praktijk, niet de vragen zijn waar onderzoekers zich mee bezighouden. Onderzoekers zouden eens bij een bedrijf moeten zitten om te ontdekken welke problemen er nou echt spelen. Zo bouwen ze ook netwerken op met mensen uit het bedrijfsleven.’
Als hoogleraar aan de Universiteit van Amsterdam en opleidingsdirecteur van de master Software Engineering leert Klint hierover veel van zijn studenten. ‘Zij hebben minder theoretische kennis dan wetenschappers, waardoor ze geen match hebben met bestaande ingewikkelde systemen die we in het onderzoek hebben gemaakt. Daardoor ontwikkelen we nu nieuwe systemen die makkelijker te leren en te gebruiken zijn. Onderwijs is de beste manier om zelf iets te leren en een belangrijke factor voor innovatie. Iedere lichting studenten neemt nieuwe technieken mee naar de bedrijven waar ze aan de slag gaan.’
Ondanks zijn praktische instelling en successen in het bedrijfsleven heeft Klint vaak moeite om de buitenwereld te overtuigen van zijn aanpak. ‘Ik kan mijn ideeën moeilijk onderbouwen met objectieve argumenten en metingen. De verbeteringen zijn moeilijk te valideren met experimenten. Ict-bedrijven aarzelen daarom om onze methodes nu al toe te passen. Zij maken applicaties van vaak een miljoen regels die veel geld kosten. Ze hebben er het geld niet voor over om ons nog een keer naar hun applicaties te laten kijken, vooral omdat ze de financiële en technische voordelen ervan niet zien.’