Departmental Papers (CIS)

Date of this Version

May 2003

Document Type

Conference Paper


Copyright 2003 IEEE. Reprinted from Proceedings of the 25th International Conference on Software Engineering 2003 (ICSE 2003), pages 232-242.
Publisher URL:

This material is posted here with permission of the IEEE. Such permission of the IEEE does not in any way imply IEEE endorsement of any of the University of Pennsylvania's products or services. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to By choosing to view this document, you agree to all provisions of the copyright laws protecting it.


This paper presents a model checking-based approach to data flow testing. We characterize data flow oriented coverage criteria in temporal logic such that the problem of test generation is reduced to the problem of finding witnesses for a set of temporal logic formulas. The capability of model checkers to construct witnesses and counterexamples allows test generation to be fully automatic. We discuss complexity issues in minimal cost test generation and describe heurstic test generation algorithms. We illustrate our approach using CTL as temporal logic and SMV as model checker.


Software testing, coverage criteria, automatic test generation, model checking, data-flow graph



Date Posted: 12 April 2005

This document has been peer reviewed.