A CP framework for testing CP

  • Authors:
  • Nadjib Lazaar;Arnaud Gotlieb;Yahia Lebbah

  • Affiliations:
  • INRIA Rennes Bretagne Atlantique, Campus Beaulieu, Rennes, France;Certus Software V&V Center, Simula Research Laboratory, Oslo, Norway;Université d'Oran Es-Senia, Lab. LITIO, Oran, Algérie

  • Venue:
  • Constraints
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The success of several constraint-based modeling languages such as OPL, ZINC or COMET, appeals for better software engineering 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 development which supposes that a first declarative and simple constraint model is available from the problem specifications analysis. Then, this model is refined using classical techniques such as constraint reformulation, surrogate, redundant, implied, global constraint and 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 refinement step and propose a process which takes the first declarative model as an oracle for detecting non-conformities and derive practical test purposes from this process. We implemented this approach in a new tool called CPTEST that was used to automatically detect non-conformities on classical benchmark programs, such as the Golomb rulers, n-queens, social golfer and the car-sequencing problems.