Innovations in Systems and Software Engineering

, Volume 6, Issue 3, pp 243–253

Randomized constraint solvers: a comparative study

  • Mitsuo Takaki
  • Diego Cavalcanti
  • Rohit Gheyi
  • Juliano Iyoda
  • Marcelo d’Amorim
  • Ricardo B. C. Prudêncio
Original Paper

DOI: 10.1007/s11334-010-0124-1

Cite this article as:
Takaki, M., Cavalcanti, D., Gheyi, R. et al. Innovations Syst Softw Eng (2010) 6: 243. doi:10.1007/s11334-010-0124-1

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

Constraint solversSoftware testingConcolic executionRandom solvers

Copyright information

© Springer-Verlag London Limited 2010

Authors and Affiliations

  • Mitsuo Takaki
    • 1
  • Diego Cavalcanti
    • 2
  • Rohit Gheyi
    • 2
  • Juliano Iyoda
    • 1
  • Marcelo d’Amorim
    • 1
  • Ricardo B. C. Prudêncio
    • 1
  1. 1.Federal University of PernambucoRecifeBrazil
  2. 2.Federal University of Campina GrandeCampina GrandeBrazil