Concurrent manipulation of binary search trees
ACM Transactions on Database Systems (TODS)
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
A generic approach to the static analysis of concurrent programs with procedures
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient Algorithms for Model Checking Pushdown Systems
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
A BDD-Based Model Checker for Recursive Programs
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Summarizing procedures in concurrent programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
KISS: keep it simple and sequential
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Regular symbolic analysis of dynamic networks of pushdown systems
CONCUR 2005 - Concurrency Theory
Runtime Analysis of Atomicity for Multithreaded Programs
IEEE Transactions on Software Engineering
On the analysis of interacting pushdown systems
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
jMoped: a test environment for java programs
CAV'07 Proceedings of the 19th international conference on Computer aided verification
SPADE: verification of multithreaded dynamic and recursive programs
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Interprocedural analysis of concurrent programs under a context bound
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Context-bounded analysis of concurrent queue systems
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Reachability analysis of multithreaded software with asynchronous communication
FSTTCS '05 Proceedings of the 25th international conference on Foundations of Software Technology and Theoretical Computer Science
Model checking multithreaded programs with asynchronous atomic methods
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Context-Bounded model checking of concurrent software
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Reasoning about threads communicating via locks
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Verifying concurrent message-passing c programs with recursive calls
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Context-Bounded Analysis for Concurrent Programs with Dynamic Creation of Threads
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Symbolic Counter Abstraction for Concurrent Software
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Reducing Context-Bounded Concurrent Reachability to Sequential Reachability
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Static and Precise Detection of Concurrency Errors in Systems Code Using SMT Solvers
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Reducing concurrent analysis under a context bound to sequential analysis
Formal Methods in System Design
Verifying parallel programs with dynamic communication structures
Theoretical Computer Science
Context-aware counter abstraction
Formal Methods in System Design
Complexity of pattern-based verification for multithreaded programs
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-bounded translations for concurrent software: an empirical evaluation
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
Reachability of multistack pushdown systems with scope-bounded matching relations
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
The language theory of bounded context-switching
LATIN'10 Proceedings of the 9th Latin American conference on Theoretical Informatics
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Model-Checking parameterized concurrent programs using linear interfaces
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Formal Methods in System Design
Language-Theoretic abstraction refinement
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
A saturation method for collapsible pushdown systems
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
Synchronisation- and reversal-bounded analysis of multithreaded programs with counters
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
C-SHORe: a collapsible approach to higher-order verification
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
The reachability problem is undecidable for programs with both recursive procedures and multiple threads with shared memory. Approaches to this problem have been the focus of much recent research. One of these is to use context-bounded reachability, i.e. to consider only those runs in which the active thread changes at most ktimes, where kis fixed. However, to the best of our knowledge, context-bounded reachability has not been implemented in any tool so far, primarily because its worst-case runtime is prohibitively high, i.e. O(nk), where nis the size of the shared memory. Moreover, existing algorithms for context-bounded reachability do not admit a meaningful symbolic implementation (e.g., using BDDs) to reduce the run-time in practice. In this paper, we propose an improvement that overcomes this problem. We have implemented our approach in the tool jMoped and report on experiments.