De industrie heeft een indrukwekkend erfgoed opgebouwd van complexe embedded software, wat een enorme waarde vertegenwoordigt, maar tegelijkertijd veel onderhoud vergt. TNO-ESI heeft rejuvenation-technologie ontwikkeld om te helpen bij het onderhoudswerk. Dit omvat zowel het visualiseren van de interne structuren en afhankelijkheden als het aanbieden van geautomatiseerde conversiemechanismen om de code te refactoren.

Bij het uitvoeren van onderhoud is er altijd een risico dat er per ongeluk fouten worden geïntroduceerd. Voor dat risico is er geen fundamenteel verschil tussen onderhoud met de hand of met geautomatiseerde oplossingen. Geautomatiseerde oplossingen hebben echter het grote voordeel dat een conversie herhaalbaar is en schaalbaar naar een grote set bronbestanden zonder extra kosten.

Bij gebrek aan formele bewijzen dat het gedrag van de code voor en na een conversie identiek is, is testen de beste manier om vertrouwen te krijgen. Testen kan geen 100% garanties geven, maar door aan te tonen dat ten minste alle takken in de code door testen worden geraakt, kan het voldoende vertrouwen in de conversie bieden.

Daarom zal het project de volgende onderzoeksvraag behandelen: Hoe kunnen we automatisch functionele testcases creëren die een functie op ‘alle’ mogelijke invoer testen en vervolgens de resultaten voor en na een conversie vergelijken?