Industry has built an impressive heritage of complex embedded software which represents an enormous value but at the same time requires a large effort to maintain it. TNO-ESI has developed rejuvenation technology to assist in the maintenance work. This is both in visualizing the internal structures and dependences and offering automated conversion mechanisms to refactor the code.

In doing maintenance there is always a risk that inadvertently errors are introduced. For that risk there is no fundamental difference in doing maintenance by hand or using automated solutions. However , automated solutions have the large advantage that a conversion is repeatable and scales to a large set of source files without additional costs.

In the absence of formal proofs that the behaviour of code before and after a conversion is identical the best way to gain confidence is by testing. Testing cannot give 100% guarantees but by showing that at least all branches in code are touched by testing it can provide sufficient confidence in the conversion.

Therefore the project will address the following research question: How can we automatically create functional test cases that will exercise a function on ‘all’ possible inputs and then compare results before and after a conversion?