Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Symbolic execution and program testing
Communications of the ACM
Parallelizing the Murϕ Verifier
Formal Methods in System Design - Special issue on CAV '97
Java RMI: Remote Method Invocation
Java RMI: Remote Method Invocation
Korat: automated testing based on Java predicates
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Generative programming for embedded systems
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Using Model Checking to Generate Tests from Specifications
ICFEM '98 Proceedings of the Second IEEE International Conference on Formal Engineering Methods
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
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
On the Automated Generation of Program Test Data
IEEE Transactions on Software Engineering
The Design of a Multicore Extension of the SPIN Model Checker
IEEE Transactions on Software Engineering
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Efficient solving of structural constraints
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
PKorat: Parallel Generation of Structurally Complex Test Inputs
ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
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
Generalized symbolic execution for model checking and testing
TACAS'03 Proceedings of the 9th 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
Symbolic PathFinder: symbolic execution of Java bytecode
Proceedings of the IEEE/ACM international conference on Automated software engineering
Parallel symbolic execution for automated real-world software testing
Proceedings of the sixth conference on Computer systems
Symbolic execution for software testing in practice: preliminary assessment
Proceedings of the 33rd International Conference on Software Engineering
Towards informed swarm verification
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Testing container classes: random or systematic?
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
SCORE: a scalable concolic testing tool for reliable embedded software
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Enhancing structural software coverage by incrementally computing branch executability
Software Quality Control
Combining search-based and constraint-based testing
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Efficient symbolic execution of value-based data structures for critical systems
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
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
S2PF: speculative symbolic PathFinder
ACM SIGSOFT Software Engineering Notes
Scaling symbolic execution using ranged analysis
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Test input generation using dynamic programming
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Boosting search based testing by using constraint based testing
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Improving symbolic execution for statechart formalisms
Proceedings of the Workshop on Model-Driven Engineering, Verification and Validation
Parallel bounded analysis in code with rich invariants by refinement of field bounds
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Partition-based regression verification
Proceedings of the 2013 International Conference on Software Engineering
Steering symbolic execution to less traveled paths
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
Symbolic execution is a popular technique for automatically generating test cases achieving high structural coverage. Symbolic execution suffers from scalability issues since the number of symbolic paths that need to be explored is very large (or even infinite) for most realistic programs. To address this problem, we propose a technique, Simple Static Partitioning, for parallelizing symbolic execution. The technique uses a set of pre-conditions to partition the symbolic execution tree, allowing us to effectively distribute symbolic execution and decrease the time needed to explore the symbolic execution tree. The proposed technique requires little communication between parallel instances and is designed to work with a variety of architectures, ranging from fast multi-core machines to cloud or grid computing environments. We implement our technique in the Java PathFinder verification tool-set and evaluate it on six case studies with respect to the performance improvement when exploring a finite symbolic execution tree and performing automatic test generation. We demonstrate speedup in both the analysis time over finite symbolic execution trees and in the time required to generate tests relative to sequential execution, with a maximum analysis time speedup of 90x observed using 128 workers and a maximum test generation speedup of 70x observed using 64 workers.