Randomized constraint solvers: a comparative study |
| |
Authors: | Mitsuo Takaki Diego Cavalcanti Rohit Gheyi Juliano Iyoda Marcelo d’Amorim Ricardo B. C. Prudêncio |
| |
Affiliation: | 1. Federal University of Pernambuco, Recife, Brazil 2. Federal University of Campina Grande, Campina Grande, Brazil
|
| |
Abstract: | The complexity of constraints is a major obstacle for constraint-based software verification. Automatic constraint solvers are fundamentally incomplete: input constraints often build on some undecidable theory or some theory the solver does not support. This paper proposes and evaluates several randomized solvers to address this issue. We compared the effectiveness of a symbolic solver (CVC3), a random solver, two heuristic search solvers, and seven hybrid solvers (i.e. mix of random, symbolic, and heuristic solvers). We evaluated the solvers on a benchmark generated with a concolic execution of 9 subjects. The performance of each solver was measured by its precision, which is the fraction of constraints that the solver can find solution out of the total number of constraints that some solver can find solution. As expected, symbolic solving subsumes the other approaches for the 4 subjects that only generate decidable constraints. For the remaining 5 subjects, which contain undecidable constraints, the hybrid solvers achieved the highest precision (fraction of constraints that a solver can find a solution out of the total number of satisfiable constraints). We also observed that the solvers were complementary, which suggests that one should alternate their use in iterations of a concolic execution driver. |
| |
Keywords: | |
本文献已被 SpringerLink 等数据库收录! |
|