Test input generation with java PathFinder
Authors:
Open Access
- 1 July 2004
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSOFT Software Engineering Notes
- Vol. 29 (4) , 97-107
Abstract
We show how model checking and symbolic execution can be used to generate test inputs to achieve structural coverage of code that manipulates complex data structures. We focus on obtaining branch-coverage during unit testing of some of the core methods of the red-black tree implementation in the Java TreeMap library, using the Java PathFinder model checker. Three different test generation techniques will be introduced and compared, namely, straight model checking of the code, model checking used in a black-box fashion to generate all inputs up to a fixed size, and lastly, model checking used during white-box test input generation. The main contribution of this work is to show how efficient white-box test input generation can be done for code manipulating complex data, taking into account complex method preconditions.Keywords
This publication has 23 references indexed in Scilit:
- Experimental Evaluation of Verification and Validation Tools on Martian Rover SoftwareFormal Methods in System Design, 2004
- Symbolically Computing Most-Precise Abstract Operations for Shape Analysis2004
- Verification of Java Programs Using Symbolic Execution and Invariant GenerationLecture Notes in Computer Science, 2004
- Automatic test data generation using constraint solving techniques1998
- Solving shape-analysis problems in languages with destructive updatingACM Transactions on Programming Languages and Systems, 1998
- The ASTOOT approach to testing object-oriented programsACM Transactions on Software Engineering and Methodology, 1994
- A practical algorithm for exact array dependence analysisCommunications of the ACM, 1992
- Symbolic execution and program testingCommunications of the ACM, 1976
- An Approach to Program TestingACM Computing Surveys, 1975
- Toward a theory of test data selectionACM SIGPLAN Notices, 1975