Owain Parry Undergraduate Dissertation 2017/18
Automatic Test Data Generation for Clojure
Supervised by P.McMinn
Abstract
The automatic generation of test data is an extremely useful boon to software engineers. It enables the streamlining of an otherwise laborious and potentially error-prone task. Through the employment of control-flow analysis and search algorithms, it is possible to develop systems capable of generating a set of test data which will collectively invoke all the program structures (e.g. statements or branches) of a given test subject (e.g. a function or a method), achieving full code coverage when used as part of a systematic testing process. While such systems exist for many popular languages, they are less commonly found for those which support higher-order functions and functional programming. In this dissertation, I discuss the theory behind test data generation and the components involved before presenting an implementation of a test data generator for the higher-order language Clojure.
|