University of Cambridge > > Microsoft Research Cambridge, public talks > Testing and fault localization in constraint programs

Testing and fault localization in constraint programs

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.

Constraint programs such as those written in high-level modeling languages (e.g., OPL , ZINC, or COMET ) must be thoroughly verified before being used in applications. Detecting and localizing faults is therefore of great importance to lower the cost of the development of these constraint programs. 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 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. Firstly, 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. We derive practical test purposes from this process to generate automatically test data that exhibit non-conformities. We implemented this testing approach in a new tool called CPTEST . Secondly, we enhance this framework to introduce automatic fault localization in constraint programs. Our localization approach is based on constraint relaxation to identify the constraint that is responsible of a given fault. CPTEST is henceforth able to automatically localize faults in optimized OPL programs. We provide empirical evidence of the effectiveness of testing and localizing approaches on classical benchmark problems, namely Golomb rulers, n-queens, social golfer and car sequencing.

This talk is part of the Microsoft Research Cambridge, public talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2022, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity