Reverse-engineering van broncode is een vruchtbare aanpak voor het ‘renoveren’ van software, concludeert CWI-promovendus Davy Landman in zijn proefschrift, dat hij aankomende donderdag verdedigt. Met de term doelt hij op het opwaarderen van verouderde software naar hedendaagse omgevingen, zodat deze weer verder aangepast kan worden.
Landman wilde weten of de broncode voldoende informatie biedt om domeinmodellen op te stellen van wat de software doet, of dat daar aanvullende informatie voor nodig is zoals ontwerpdocumenten. Uit verschillende voorbeelden met bestaande software bleek dat het goed mogelijk is om handmatig dergelijke domeinmodellen op te stellen met alleen de broncode.
Daarna keek hij naar het automatiseren van dit proces. Het grote probleem daarbij is dat het voor tools lastig is om vast te stellen wat belangrijk is en wat niet. Door naar een aantal opensourceprojecten te kijken, concludeerde Landman dat zowel naar de cyclomatische complexiteit als naar het aantal coderegels gekeken kan worden om de interessante delen uit de broncode te lichten. Tot nog toe werd aangenomen dat deze twee metrieken sterk gecorreleerd zijn, maar volgens Landman is dat niet het geval.

