A Co-Evolutionary Approach to Test Case Generation for Safety-Critical Systems
Abstract
Safety-critical software development is a costly and time-consuming process that involves thousands of hours dedicated to test development. Tests must meet stringent
developmental guidelines to verify the correct and complete implementation of their
parent requirements. Further compounding any such effort is the tendency towards
requirement churn or the frequent change to the software and other system requirements. This thesis presents a solution, PyTcGen, that alleviates these challenges by
processing natural language requirements and programmatically generating the requisite test cases to ensure the software meets all of the conditions of that requirement.
The solution uses template matching to marry requirements to the code that generates
tests. This template matching approach adds a further advantage in the form of a
co-evolutionary relationship between requirement authors and the system that drives
the creation of more concise requirements while simultaneously increasing the usability
of the system.