Unit testing generally requires significant effort, and it is also a very time-consuming activity. This is even more true for safety-critical systems, for which unit testing and is mandatory and, in order to achieve compliance with in-force regulations, coverage metrics must provide evidences about the completeness of testing and the absence of dead-code.
Costs of unit testing are also affected by the system under test and the deployed one to be the same, and testing to be performed on the target platform. In this perspective, the adoption of automated tools undoubtedly benefits unit testing both in terms of costs and effort.
In this paper, we report methodological and technical aspects, besides results, concerning the adoption of the automatic generation of test-cases for non-intrusive unit-testing, aiming at boosting structural coverage.
In particular, we generate test-cases for complete modified condition/decision coverage (MC/DC) exploiting the abstract syntax tree (AST) and properties of source-code, while targeting complete MC/DC coverage for previously unit-tested safety-critical software components intended to be used in the railway domain.