Abstract
Constraint-Based Testing was introduced fifteen years ago, in the context of mutation testing [1], to generate test cases by using constraint solving techniques. In our previous work [2, 3], we built a constraint-based model for generating automatically test data that cover all the decisions of a C program. Constraints are solved by using classical deductive methods such as domain reduction over finite domains and complete labelling. However, we found that some constraint systems cannot be solved in a reasonable amount of time with these techniques. Hence, we started looking at constraint-based local search (CBLS), a framework introduced by Michel and Van Hentenryck [4], to speed up the test data generation process in constraint-based testing. CBLS is a generic paradigm that proposes to implement multiple local search techniques such as Hill-climbing and simulated annealing by using the high-level concepts of invariants and differentiable objects. Invariants are simple relations expressed over incremental variables that must be maintained under assignments of new values while differentiable objects are relations that can be queried to evaluate the effect of local moves. Their significance comes from the many algorithms that evaluate the effect of various moves before selecting the neighbor to visit. Unlike invariants, a differentiable object can be queried through an interface shown below to evaluate the effect of local moves such as assignments and swaps.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have