arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1005.2882cs.SE
收藏

关于约束程序的测试

On Testing Constraint Programs

Nadjib Lazaar, Arnaud Gotlieb, Lebbah Yahia

摘要:

几种基于约束的建模语言(如OPL、ZINC或COMET)的成功吸引了更好的软件工程实践,特别是在测试阶段。本文介绍了一个测试框架,使自动测试用例生成的约束编程。我们提出了一个约束程序开发的一般框架,假设第一个声明和简单的约束模型是从问题规格分析。然后,这个模型是细化使用经典的技术,如约束重新制定,代理和全球约束添加,或破坏,以形成一个改进的约束模型,必须彻底测试之前,用于解决实际规模的问题。我们认为,大多数的故障都是在这个细化步骤中引入的,并提出了一个过程,其中第一个声明模型作为一个预言检测不符合。我们从这个过程中获得实际的测试目的,以自动生成显示不符合项的测试数据。我们实现了这种方法在一个新的工具,称为CPTEST,用于自动检测两个经典的基准程序,即Golomb统治者和汽车排序问题的不符合。

英文摘要:

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 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 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 approach in a new tool called CPTEST that was used to automatically detect non-conformities on two classical benchmark programs, namely the Golomb rulers and the car-sequencing problem.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑