De Software Improvement Group (SIG) laat zijn software-analyselaboratorium een ISO 25010-inspectie uitvoeren op de broncode van de Belgische verkiezingssoftware, die onlangs door de Federale Overheidsdienst Binnenlandse Zaken is vrijgegeven. Met dit eigen initiatief vestigt SIG de aandacht op het maatschappelijk belang van softwarekwaliteit. De resultaten van de inspectie worden in eerste instantie aangeboden aan de Belgische Overheid.
Bij de verkiezingen in België op 25 mei 2014 werd gebruikgemaakt van stemcomputers en stem-tel-systemen. De broncode van deze stemsystemen werd op 2 juni openbaar beschikbaar gesteld. Voorstanders van open source software argumenteren dat het openbaar maken van de broncode leidt tot hogere kwaliteit omdat vele ogen tezamen meer fouten kunnen ontdekken. Hiervoor is het natuurlijk wel noodzakelijk dat de broncode ook werkelijk wordt geanalyseerd. De bekende Heartbleed-bug in OpenSSL bleef bijvoorbeeld jarenlang onopgemerkt.
Toetsingsmodellen
‘In principe kan transparantie tot hogere kwaliteit leiden’, zegt prof. dr. ir. Joost Visser, hoofd Research van SIG en hoogleraar aan de Radboud Universiteit Nijmegen. ‘Maar een effectieve inspectie komt niet vanzelf tot stand.’ Het software-analyselaboratorium van SIG werkt met toetsingsmodellen op wetenschappelijke basis en de internationale ISO 25010-standaard. Deze modellen worden jaarlijks in honderden inspecties toegepast. ‘Deze ervaring wenden we graag aan ten behoeve van software met een sleutelrol in een democratisch bestel’, aldus Visser.
De inspectie van SIG richt zich niet alleen op de mate van beveiliging van de verkiezingssoftware, maar ook op de onderhoudbaarheid en complexiteit. ‘Wat een softwaresysteem veilig maakt is niet alleen de afwezigheid van lekken’, zegt Rob van der Veer, security practice leider bij SIG. ‘Ook een goede structuur en begrijpelijke programmatekst zijn van wezenlijk belang om fouten te voorkomen en het oplossen van de onvermijdelijke bugs eenvoudiger te maken.’
Het blijft mensenwerk
Volgens Jeroen Heijmans, technisch consultant bij SIG en lid van het inspectieteam, is er een aanzienlijke inspanning gemoeid met de inspectie. ‘Het is geen kwestie van een paar routinetests draaien. We gebruiken weliswaar een aantal tools om ons werk effectiever en efficiënter te maken, maar een goede duiding van uitkomsten van de metingen en een goede beoordeling van de toegepaste programmeertechnieken blijft uiteindelijk mensenwerk.’