Algorithms: Algorithm 322:F-distribution
Communications of the ACM
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
IEEE Transactions on Software Engineering
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
Empirical Software Engineering
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Towards the determination of typical failure patterns
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
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
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
A Comparison of Constraint-Based and Sequence-Based Generation of Complex Input Data Structures
ICSTW '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops
Analysis of invariants for efficient bounded verification
Proceedings of the 19th international symposium on Software testing and analysis
Parallel symbolic execution for structural test generation
Proceedings of the 19th international symposium on Software testing and analysis
FloPSy: search-based floating point constraint solving for symbolic execution
ICTSS'10 Proceedings of the 22nd IFIP WG 6.1 international conference on Testing software and systems
Evolutionary Generation of Whole Test Suites
QSIC '11 Proceedings of the 2011 11th International Conference on Quality Software
Search-based system testing: high coverage, no false alarms
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Isolating failure causes through test case generation
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Sound empirical evidence in software testing
Proceedings of the 34th International Conference on Software Engineering
Partition-based regression verification
Proceedings of the 2013 International Conference on Software Engineering
Information and Software Technology
Hi-index | 0.00 |
Many modern automated test generators are based on either meta-heuristic search techniques or use constraint solvers. Both approaches have their advantages, but they also have specific drawbacks: Search-based methods get stuck in local optima and degrade when the search landscape offers no guidance; constraint-based approaches, on the other hand, can only handle certain domains efficiently. In this paper we describe a method that integrates both techniques and delivers the best of both worlds. On a high-level view, our method uses a genetic algorithm to generate tests, but the twist is that during evolution a constraint solver is used to ensure that mutated offspring efficiently explores different control flow. Experiments on 20 case study examples show that on average the combination improves branch coverage by 28% over search-based techniques and by 13% over constraint-based techniques.