University of Minnesota
Software Engineering Center

You are here

Efficient Observability-based Test Generation by Dynamic Symbolic Execution

Date of Publication: 
November 2015
Associated Research Groups: 
Publication Files: 
Structural coverage metrics have been widely used to measure test suite adequacy as well as to generate test cases. In previous investigations, we have found that the fault-finding effectiveness of tests satisfying structural coverage criteria is highly dependent on program syntax – even if the faulty code is exercised, its effect may not be observable at the output. To address these problems, observability-based coverage metrics have been defined. Specifically, Observable MC/DC (OMC/DC) is a criterion that appears to be both more effective at detecting faults and more robust to program restructuring than MC/DC. Traditional counterexample-based test generation for OMC/DC, however, can be infeasible on large systems. In this study, we propose an incremental test generation approach that combines the notion of observability with dynamic symbolic execution. We evaluated the efficiency and effectiveness of our approach using seven systems from the avionics and medical device domains. Our results show that the incremental approach requires much lower generation time, while achieving even higher fault finding effectiveness compared with regular OMC/DC generation.
26th International Symposium on Software Reliability Engineering, Gaithersburg, Maryland, November 2015.
@inproceedings{you2015efficient, title={Efficient Observability-based Test Generation by Dynamic Symbolic Execution}, author={You, Dongjiang and Rayadurgam, Sanjai and Whalen, Michael and Heimdahl, Mats PE and Gay, Gregory}, booktitle={Proceedings of the 26th International Symposium on Software Reliability Engineering}, year={2015}, organization={IEEE} }