Lucian Voinea, onderzoeker aan de Technische Universiteit Eindhoven ontwikkelde een methode om de ontstaansgeschiedenis van software visueel inzichtelijk te maken. Hij hoopt hiermee de kwaliteit van programmatuur te kunnen verbeteren.
Onderzoeker Lucian Voinea verdedigt komende maandag zijn proefschrift ‘Software Evolution Visualization' aan de Technische Universiteit van Eindhoven. Hij ontwikkelde een methode om de ontstaansgeschiedenis van software en daarmee deels de kwaliteit visueel inzichtelijk te maken. Hij hoopt hiermee inzicht te verschaffen in de verbeterpunten van software-ontwikkeling.
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 klein 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 millennium-bug. 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 werelwijde 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 software-archief 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 inforamtie 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.
Lijkt handig, zo’n tool. Visualisatie betekent veel snellere informatieoverdracht dan code of documentatie lezen. En valid en well-formed code is een bij voorbaat geschikte databron om (visuele) zaken uit te genereren.
Toevallig lijkt dit op wat ik tijdens mijn afstuderen deed (meer op matei.toplog.nl).