Date of Award


Document Type


Degree Name

Master of Science (MS)


Computer Engineering and Sciences

First Advisor

Thomas C Eskridge

Second Advisor

Ryan White

Third Advisor

Siddartha Bhattacharyya

Fourth Advisor

Khaled Slhoub


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.


Copyright held by author