Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator
ACM Transactions on Modeling and Computer Simulation (TOMACS) - Special issue on uniform random number generation
An adaptive evolutionary algorithm for the satisfiability problem
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 1
Symbolic execution and program testing
Communications of the ACM
A machine program for theorem-proving
Communications of the ACM
Software Testing Techniques
Genetic Algorithms in Search, Optimization and Machine Learning
Genetic Algorithms in Search, Optimization and Machine Learning
Korat: automated testing based on Java predicates
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
A DPLL-Based Calculus for Ground Satisfiability Modulo Theories
JELIA '02 Proceedings of the European Conference on Logics in Artificial Intelligence
A Superior Evolutionary Algorithm for 3-SAT
EP '98 Proceedings of the 7th International Conference on Evolutionary Programming VII
JCrasher: an automatic robustness tester for Java
Software—Practice & Experience
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Compositional dynamic test generation
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parallel Randomized State-Space Search
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Tool-support for the analysis of hybrid systems and models
Proceedings of the conference on Design, automation and test in Europe
An empirical study of the robustness of Windows NT applications using random testing
WSS'00 Proceedings of the 4th conference on USENIX Windows Systems Symposium - Volume 4
Automated Test Data Generation using Search Based Software Engineering
AST '07 Proceedings of the Second International Workshop on Automation of Software Test
Applying particle swarm optimization to software testing
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Randoop: feedback-directed random testing for Java
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
A Concurrent Portfolio Approach to SMT Solving
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Software debugging, testing, and verification
IBM Systems Journal
Automatic generation of random self-checking test cases
IBM Systems Journal
JPF-SE: a symbolic execution extension to Java PathFinder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
CUTE and jCUTE: concolic unit testing and explicit path model-checking tools
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
An incremental and layered procedure for the satisfiability of linear arithmetic logic
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
CORAL: solving complex constraints for symbolic pathfinder
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Search based constrained test case selection using execution effort
Expert Systems with Applications: An International Journal
Hi-index | 0.00 |
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.