On Testing Constraint Programs
Résumé
The success of several constraint-based modeling languages such as OPL, ZINC, or COMET, appeals for better software engineer- ing practices, particularly in the testing phase. This paper introduces a testing framework enabling automated test case generation for constraint programming.We propose a general framework of constraint program de- velopment which supposes that a rst declarative and simple constraint model is available from the problem speci cations analysis. Then, this model is re ned using classical techniques such as constraint reformu- lation, surrogate and global constraint addition, or symmetry-breaking to form an improved constraint model that must be thoroughly tested before being used to address real-sized problems. We think that most of the faults are introduced in this re nement step and propose a pro- cess which takes the rst declarative model as an oracle for detecting non-conformities. We derive practical test purposes from this process to generate automatically test data that exhibit non-conformities. We im- plemented this approach in a new tool called CPTEST that was used to automatically detect non-conformities on two classical benchmark pro- grams, namely the Golomb rulers and the car-sequencing problem.
Domaines
Génie logiciel [cs.SE]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...