Dat er nogal eens wat misgaat bij het maken van computerprogrammatuur, weten we allemaal uit eigen ervaring. ‘Gisteren nog wilde ik een wijziging doorgeven bij de Kamer van Koophandel en kreeg ik een ‘foutmelding 505’’, zegt Marieke Huisman, hoogleraar Software Reliability. ‘Dat betekent niet dat ze er bij de Kamer van Koophandel een rommeltje van maken. Aan zulke softwaresystemen werken heel veel mensen.’
Als iedereen een klein stukje software maakt, moeten die stukjes perfect op elkaar aansluiten. De communicatie tussen de vele onderdelen hoeft maar ergens te haperen en de poppen zijn aan het dansen. In het beste geval krijgt de gebruiker een foutmelding, in een ergere situatie loopt een productieproces in de soep. De vakgroep van Huisman ontwikkelt instrumenten voor het bedrijfsleven om zulke fouten in de programmatuur vroegtijdig te ontdekken.
Ja, er bestaan nogal wat misverstanden over haar vakgebied, vertelt Huisman. ‘Op borrels kreeg ik vroeger standaard de reactie: ik heb een probleem met Windows, kun je dat oplossen?’ Nog altijd wordt haar vakgebied geplaagd door twee vooroordelen. Volgens het eerste zijn softwareontwikkelaars monomanische mannelijke (!) nerds die, gekluisterd aan aan hun computerscherm, onophoudelijk codes zitten te kloppen. ‘Een softwaresysteem moet zo in elkaar zitten, dat mensen het kunnen gebruiken’, zegt Huisman hierover. ‘Je moet daarom goed weten aan welke voorwaarden het moet voldoen en dus veel overleggen met de gebruikers. Het beeld van iemand die alleen maar software in elkaar hackt, klopt dus niet.’
Volgens het tweede vooroordeel is alle software relatief eenvoudig te maken. ‘Dat is bijvoorbeeld een breed misverstand in de auto-industrie. Auto’s zijn tegenwoordig rijdende computers, maar het management denkt vaak: die software stoppen we naderhand wel even tussen alle onderdelen. Ze onderschatten hoe complex de systemen zijn en hoeveel werk dat is. Als er vervolgens iets misgaat en het moet worden aangepast, snapt niemand hoe het werkt.’
Het debacle rondom de corona-app vindt Huisman ook exemplarisch. ‘Het idee was, och, dat zetten we in een weekend in elkaar en dat gaat iedereen gebruiken. Dat is heel naïef, zo werkt het dus niet.’
Omgekeerd merkt ze dat onderzoekers ook wel eens te snel oordelen over de industrie. ‘Wij hebben soms de neiging te denken dat wij heel goed weten hoe je programmatuur correct maakt en dat ze in de industrie maar wat doen. Dat klopt niet, ze doen echt hun best om zo goed mogelijke software te maken en staan ook erg open voor verbeteringen. In hun ogen zijn wij theoretici die komen met een tool om hun problemen op te lossen, maar bij het eerste voorbeeld dat ze geven, werkt het al niet.’
Door de snelle ontwikkelingen in het veld is het soms lastig de praktijkproblemen bij te houden. ‘Onze tools zijn óók software, het kost veel tijd die te ontwikkelen. Ondertussen komen er voortdurend nieuwe programmeertalen en nieuwe ‘features’ bij.’ Niettemin is ze nog altijd blij dat ze rond haar vijftiende besloot informatica te gaan studeren. ‘Het heeft veel raakvlakken met de wiskunde, het is als puzzelen. Als ik een probleem heb dat ik de computer wil laten oplossen en het werkt, dan geeft dat echt een kick.’