Compiling lazy pattern matching
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Property-based testing: a new approach to testing for assurance
ACM SIGSOFT Software Engineering Notes
Model Checking as Constraint Solving
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
A CLP Framework for Computing Structural Test Data
CL '00 Proceedings of the First International Conference on Computational Logic
Test Sequences Generation from LUSTRE Descriptions: GATEL
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
A Practical Tutorial on Modified Condition/Decision Coverage
A Practical Tutorial on Modified Condition/Decision Coverage
Automatic software model checking via constraint logic
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
Improving Constraint-Based Testing with Dynamic Linear Relaxations
ISSRE '07 Proceedings of the The 18th IEEE International Symposium on Software Reliability
Formal verification of a realistic compiler
Communications of the ACM - Barbara Liskov: ACM's A.M. Turing Award Winner
Euclide: A Constraint-Based Testing Framework for Critical C Programs
ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
Functional testing in the focal environment
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Test case generation for object-oriented imperative languages in clp*
Theory and Practice of Logic Programming
Constraint-Based Test Input Generation for Java Bytecode
ISSRE '10 Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering
Interactive testing with HOL-TestGen
FATES'05 Proceedings of the 5th international conference on Formal Approaches to Software Testing
Hi-index | 0.00 |
Constraint-based test data generators rely on SMT or constraint solvers to automatically generate test data (e.g., Pex, Sage, Gatel, PathCrawler, Euclide). However, for some test data generation requests corresponding to particular test objectives, these tools may fail to deliver the expected test data because they focus on efficiency rather than soundness and completeness. We adopt an opposite view in the development of FocalTest, a test data generation tool for Focalize programs. The goal of the tool is to generate an MC/DC-compliant set of test data over the precondition of user-defined program properties. The development of such a correct-by-construction test data generator requires 1) to provide a formally verified translation of Focalize programs and properties into constraint systems; 2) to introduce a formally verified constraint solver able to solve those constraint systems. This paper is concerned with the first step only where we formally demonstrate with Coq the soundness of the translation of an intermediate functional language into a constraint system. This objective requires to formally define the operational semantics of the source language that features the manipulation of concrete data types via pattern-matching and function calls, constructions that are mirrored in the constraint language. Although such a semantics-oriented formalization is only a first step of a larger goal which is to provide a formally verified constraint-based testing tool, we argue that it is an important contribution to the building of more robust software testing tools.