The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
An Analysis of Bitstate Hashing
Formal Methods in System Design
Parallelizing the Murϕ Verifier
Formal Methods in System Design - Special issue on CAV '97
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Formal Methods in System Design
JCrasher: an automatic robustness tester for Java
Software—Practice & Experience
Model Checking An Entire Linux Distribution for Security Violations
ACSAC '05 Proceedings of the 21st Annual Computer Security Applications Conference
Application of automated environment generation to commercial software
Proceedings of the 2006 international symposium on Software testing and analysis
Controlling factors in evaluating path-sensitive error detection techniques
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Model checking large network protocol implementations
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
Using model checking to find serious file system errors
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
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
Automatic generation of random self-checking test cases
IBM Systems Journal
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Eclat: automatic generation and classification of test inputs
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Evaluating the effectiveness of slicing for model reduction of concurrent object-oriented programs
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Parallel test generation and execution with Korat
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Effective random testing of concurrent programs
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Race directed random testing of concurrent programs
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Random testing and model checking: building a common framework for nondeterministic exploration
WODA '08 Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
Tackling Large Verification Problems with the Swarm Tool
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Randomized active atomicity violation detection in concurrent programs
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Complementarity of Error Detection Techniques
Electronic Notes in Theoretical Computer Science (ENTCS)
A Meta Heuristic for Effectively Detecting Concurrency Errors
HVC '08 Proceedings of the 4th International Haifa Verification Conference on Hardware and Software: Verification and Testing
On the Use of Uniform Random Generation of Automata for Testing
Electronic Notes in Theoretical Computer Science (ENTCS)
Clash of the Titans: tools and techniques for hunting bugs in concurrent programs
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
GAMBIT: effective unit testing for concurrency libraries
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Generating counter-examples through randomized guided search
Proceedings of the 14th international SPIN conference on Model checking software
Parallel symbolic execution for structural test generation
Proceedings of the 19th international symposium on Software testing and analysis
Journal of Systems and Software
Randomized constraint solvers: a comparative study
Innovations in Systems and Software Engineering
Towards informed swarm verification
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Uniform Monte-Carlo model checking
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
Change-aware preemption prioritization
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Randomized backtracking in state space traversal
Proceedings of the 18th international SPIN conference on Model checking software
Multi-core nested depth-first search
ATVA'11 Proceedings of the 9th international conference on Automated technology for verification and analysis
(Quickly) testing the tester via path coverage
WODA '09 Proceedings of the Seventh International Workshop on Dynamic Analysis
Parallelizing top-down interprocedural analyses
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Proceedings of the 2012 International Symposium on Software Testing and Analysis
BALLERINA: automatic generation and clustering of efficient random unit tests for multithreaded code
Proceedings of the 34th International Conference on Software Engineering
Parallel model checking using abstraction
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
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
Conditional model checking: a technique to pass information between verifiers
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Marple: Detecting faults in path segments using automatically generated analyses
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
Hi-index | 0.00 |
Model checkers search the space of possible program behaviors to detect errors and to demonstrate their absence. Despite major advances in reduction and optimization techniques, state-space search can still become cost-prohibitive as program size and complexity increase. In this paper, we present a technique for dramatically improving the cost-effectiveness of state-space search techniques for error detection using parallelism. Our approach can be composed with all of the reduction and optimization techniques we are aware of to amplify their benefits. It was developed based on insights gained from performing a large empirical study of the cost-effectiveness of randomization techniques in state-space analysis. We explain those insights and our technique, and then show through a focused empirical study that our technique speeds up analysis by factors ranging from 2 to over 1000 as compared to traditional modes of state-space search, and does so with relatively small numbers of parallel processors.