PSATO: a distributed propositional prover and its application to quasigroup problems
Journal of Symbolic Computation - Special issue on parallel symbolic computation
Alcoa: the alloy constraint analyzer
Proceedings of the 22nd international conference on Software engineering
Finding bugs with a constraint solver
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Korat: automated testing based on Java predicates
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Automated Software Engineering
TestEra: Specification-Based Testing of Java Programs Using SAT
Automated Software Engineering
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
Modular verification of code with SAT
Proceedings of the 2006 international symposium on Software testing and analysis
Finding bugs efficiently with a SAT solver
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
SEFM '07 Proceedings of the Fifth IEEE International Conference on Software Engineering and Formal Methods
PKorat: Parallel Generation of Structurally Complex Test Inputs
ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
c-sat: A Parallel SAT Solver for Clusters
SAT '09 Proceedings of the 12th International Conference on Theory and Applications of Satisfiability Testing
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
An Incremental Approach to Scope-Bounded Checking Using a Lightweight Formal Method
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Using first-order theorem provers in the Jahob data structure verification system
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Kodkod: a relational model finder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Checking properties of heap-manipulating procedures with a constraint solver
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
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
Optimizing Incremental Scope-Bounded Checking with Data-Flow Analysis
ISSRE '10 Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering
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
A dataflow analysis to improve SAT-based bounded program verification
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Beyond assertions: advanced specification and verification with JML and ESC/Java2
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Hi-index | 0.00 |
In this article we present a novel technique for automated parallel bug-finding based on the sequential analysis tool TACO. TACO is a tool based on SAT-solving for efficient bug-finding in Java code with rich class invariants. It prunes the SAT-solver's search space by introducing precise symmetry-breaking predicates and bounding the relational semantics of Java class fields. The bounds computed by TACO generally include a substantial amount of nondeterminism; its reduction allows us to split the original analysis into disjoint subproblems. We discuss the soundness and completeness of the decomposition. Furthermore, we present experimental results showing that MUCHO-TACO, our tool which implements this technique, yields significant speed-ups over TACO on commodity cluster hardware.