POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parameterized Verification of Multithreaded Software Libraries
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Towards the Automated Verification of Multithreaded Java Programs
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Reducing Model Checking of the Many to the Few
CADE-17 Proceedings of the 17th International Conference on Automated Deduction
Exponential space complete problems for Petri nets and commutative semigroups (Preliminary Report)
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
Covering sharing trees: a compact data structure for parameterized verification
International Journal on Software Tools for Technology Transfer (STTT)
Regular symbolic analysis of dynamic networks of pushdown systems
CONCUR 2005 - Concurrency Theory
Thorough static analysis of device drivers
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Verification of Boolean programs with unbounded thread creation
Theoretical Computer Science
Model checking concurrent linux device drivers
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
From Many Places to Few: Automatic Abstraction Refinement for Petri Nets
Fundamenta Informaticae - PETRI NETS 2007
Symbolic Counter Abstraction for Concurrent Software
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
A New Approach to Upward-Closed Set Backward Reachability Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Journal of Computer and System Sciences
Empirically efficient verification for a class of infinite-state systems
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Expand, enlarge and check... made efficient
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Reasoning about threads communicating via locks
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Complexity of pattern-based verification for multithreaded programs
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking coverability graphs of vector addition systems
MFCS'11 Proceedings of the 36th international conference on Mathematical foundations of computer science
Verification of parameterized concurrent programs by modular reasoning about data and control
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Counterexample-guided abstraction refinement for symmetric concurrent programs
Formal Methods in System Design
Efficient coverability analysis by proof minimization
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Parameterized verification of asynchronous shared-memory systems
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
DUET: static analysis for unbounded parallelism
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
IJCAI'13 Proceedings of the Twenty-Third international joint conference on Artificial Intelligence
Hi-index | 0.00 |
We consider the class of finite-state programs executed by an unbounded number of replicated threads communicating via shared variables The thread-state reachability problem for this class is essential in software verification using predicate abstraction While this problem is decidable via Petri net coverability analysis, techniques solely based on coverability suffer from the problem's exponential-space complexity In this paper, we present an alternative method based on a thread-state cutoff: a number n of threads that suffice to generate all reachable thread states We give a condition, verifiable dynamically during reachability analysis for increasing n, that is sufficient to conclude that n is a cutoff We then make the method complete, via a coverability query that is of low cost in practice We demonstrate the efficiency of the approach on Petri net encodings of communication protocols, as well as on non-recursive Boolean programs run by arbitrarily many parallel threads.