Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
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)
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Symbolic execution and program testing
Communications of the ACM
A CLP Framework for Computing Structural Test Data
CL '00 Proceedings of the First International Conference on Computational Logic
Generating Test Data for Branch Coverage
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Abstract Interpretation of PIC Programs through Logic Programming
SCAM '06 Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation
Systematic generation of glass-box test cases for functional logic programs
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
A System to Generate Test Data and Symbolically Execute Programs
IEEE Transactions on Software Engineering
Symbolic Testing and the DISSECT Symbolic Evaluation System
IEEE Transactions on Software Engineering
A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs
Logic-Based Program Synthesis and Transformation
GAST: generic automated software testing
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Cost analysis of java bytecode
ESOP'07 Proceedings of the 16th European conference on Programming
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Efficient local unfolding with ancestor stacks for full prolog
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Verification of java bytecode using analysis and transformation of logic programs
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Test case generation for object-oriented imperative languages in clp*
Theory and Practice of Logic Programming
A dynamic constraint-based BMC strategy for generating counterexamples
Proceedings of the 2011 ACM Symposium on Applied Computing
Compositional CLP-based test data generation for imperative languages
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Towards a framework for constraint-based test case generation
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Hi-index | 0.00 |
We employ existing partial evaluation (PE) techniques developed for Constraint Logic Programming (CLP) in order to automatically generate test-case generators for glass-box testing of bytecode. Our approach consists of two independent CLP PE phases. (1) First, the bytecode is transformed into an equivalent (decompiled) CLP program. This is already a well studied transformation which can be done either by using an ad-hoc decompiler or by specialising a bytecode interpreter by means of existing PE techniques. (2) A second PE is performed in order to supervise the generation of test-cases by execution of the CLP decompiled program. Interestingly, we employ control strategies previously defined in the context of CLP PE in order to capture coverage criteria for glass-box testing of bytecode. A unique feature of our approach is that, this second PE phase allows generating not only test-cases but also test-case generators . To the best of our knowledge, this is the first time that (CLP) PE techniques are applied for test-case generation as well as to generate test-case generators.