Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
The chaining approach for software test data generation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
Symbolic execution and program testing
Communications of the ACM
Java Virtual Machine Specification
Java Virtual Machine Specification
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Decompilation of Java bytecode to Prolog by partial evaluation
Information and Software Technology
Generalized symbolic execution for model checking and testing
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Towards a framework for constraint-based test case generation
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Test case generation for object-oriented imperative languages in clp*
Theory and Practice of Logic Programming
Interleaving symbolic execution and partial evaluation
FMCO'09 Proceedings of the 8th international conference on Formal methods for components and objects
Compositional CLP-based test data generation for imperative languages
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Resource-Driven CLP-Based test case generation
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
aPET: a test case generation tool for concurrent objects
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
PET is a prototype Partial Evaluation-based Test case generation tool for a subset of Java bytecode programs. It performs white-box test generation by means of two consecutive Partial Evaluations (PE). The first PE decompiles the Java bytecode program into an equivalent CLP (Constraint Logic Programming) counterpart. The second PE generates a test-case generator from the CLP program. This generator captures interesting test coverage criteria and it is able to generate further test cases on demand. For the first PE, PET incorporates an existing tool which decompiles bytecode to CLP. The main contribution of this work is the implementation of the second PE and the proof of concept of the approach. This has required the development of a partial evaluator for CLP with appropriate control strategies to ensure the required coverage criteria and to generate test-case generators. PET can be downloaded as free software from its web site, where a repository of examples and a web interface are also provided. Though PET has to be extended to be applicable to larger programs, we argue that it provides some evidence that the approach can be of practical interest.