We implemented the first testing constraint programs framework shown in a tool called CPTEST
for OPL (Optimization Programming Language). CPTEST is henceforth able to automatically detect, localize and correct faults in optimized OPL programs.We chose OPL because it is one of the main programming environments for developing constraint programs and also critical constraint programs . CPTEST is based on ILOG CP Optimizer 2.1 from ILOG OPL 6.1.1 Development Studio. All our experiments were performed on Intel Core2 Duo CPU 2.40Ghz machine with 2.00 GB of RAM.
CPTEST includes a complete OPL parser and a backend process that produces dedicated OPL programs as output. These OPL programs must be solved in order to find non-conformities, localize and correct faults. CPTEST includes implementations of Algorithms one_negated, k_locate and correction. The tool is parameterized by several options, including the chosen conformity relation, the instance of the problem, etc. CPTEST handles the overall OPL language and can negate most of the constraints that can be expressed in OPL. However, it cannot negate all the global constraints available, such as the cumulative or circuit global constraint.