Lucian Voinea, onderzoeker aan de Technische Universiteit Eindhoven heeft een methode ontwikkeld om het totstandkomen van software visueel inzichtelijk te maken. Hij hoopt hiermee de kwaliteit van programmatuur te verbeteren.
Onderzoeker Lucian Voinea verdedigde vorige week zijn proefschrift ‘Software Evolution Visualization’ aan de Technische Universiteit van Eindhoven. Hij heeft een methode ontwikkeld om visueel inzichtelijk te maken hoe software tot stand is gekomen. Daarmee is ook de kwaliteit deels te bepalen. Hij hoopt hiermee inzicht te verschaffen in de verbeterpunten van softwareontwikkeling.

Afhankelijk van de samenwerking tussen verschillende programmeurs, de complexiteit van de software en de duur van de testperiode crasht een programma snel of minder snel. “Software evolueert soms met rare sprongen”, legt Voinea uit. “Soms neemt een programmeur een bepaalde ontwerpbeslissing die op het moment niet zo belangrijk lijkt, maar die in de loop der tijd een flinke impact heeft op de stabiliteit van een geheel programma.”
Een goed voorbeeld hiervan is de millenniumbug. Om ruimte te sparen kozen softwareprogammeurs er ooit voor om jaartallen in slechts twee cijfers te noteren. Om de overgang naar 2000 vlekkeloos te laten verlopen was een wereldwijde reparatie-inspanning nodig. “Hierdoor zie je dat veel problemen in software niet het gevolg zijn van stomme fouten, maar vaak van bewust gemaakte keuzes”, aldus de promovendus. “Met mijn methode kun je erachter komen wat de redenen van de programmeurs indertijd waren voor het maken van bepaalde ontwerpen.”
Overzicht
Voinea ontwikkelde een tool, de Visual Code Navigator, waarmee hij op basis van het gehele softwarearchief veel informatie kan ophalen. Zo kan bijvoorbeeld op het niveau van coderegels heel goed in kaart worden gebracht welke code een bepaalde programmeur heeft geschreven of wat hij precies veranderd heeft.
“Die is vooral handig voor nieuwkomers in een project. Zij kunnen zich snel inwerken in een team en een goed overzicht krijgen van de voorgaande kwesties die bij de ontwikkeling van de programmatuur hebben gespeeld.”
De promovendus kan met zijn tool nog andere informatie uit de softwarehistorie halen. Zo weet hij de groei van het aantal coderegels in de loop van tijd in kaart te brengen, evenals de groei van de complexiteit van de software.
Online
Meer info is te vinden op www.win.tue.nl/~lvoinea/VCN.html