Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program analysis with partial transfer functions
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
The Interprocedural Coincidence Theorem
CC '92 Proceedings of the 4th International Conference on Compiler Construction
Summarizing procedures in concurrent programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Precise interprocedural analysis through linear algebra
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Race checking by context inference
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
KISS: keep it simple and sequential
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Iterative context bounding for systematic testing of multithreaded programs
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Context-bounded analysis of multithreaded programs with dynamic linked structures
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 model checking of concurrent software
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
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
The Case for Context-Bounded Verification of Concurrent Programs
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Games on Multi-stack Pushdown Systems
LFCS '09 Proceedings of the 2009 International Symposium on Logical Foundations of Computer Science
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,
Semantic Reduction of Thread Interleavings in Concurrent Programs
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,
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
A Decision Procedure for Detecting Atomicity Violations for Communicating Processes with Locks
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Symbolic Predictive Analysis for Concurrent Programs
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Thread-modular counterexample-guided abstraction refinement
SAS'10 Proceedings of the 17th international conference on Static analysis
Staged concurrent program analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
From multi to single stack automata
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
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
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
Reduction of interrupt handler executions for model checking embedded software
HVC'09 Proceedings of the 5th international Haifa verification conference on Hardware and software: verification and testing
Compositionality entails sequentializability
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Getting rid of store-buffers in TSO analysis
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
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
Model-Checking parameterized concurrent programs using linear interfaces
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Time-bounded analysis of real-time systems
Proceedings of the International Conference on Formal Methods in Computer-Aided Design
Timing analysis of interrupt-driven programs under context bounds
Proceedings of the International Conference on Formal Methods in Computer-Aided Design
Trace-Based symbolic analysis for atomicity violations
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Language-Theoretic abstraction refinement
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
DTAM: dynamic taint analysis of multi-threaded programs for relevancy
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Linear-Time model-checking for multithreaded programs under scope-bounding
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
Input-covering schedules for multithreaded programs
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
This paper addresses the analysis of concurrent programs with shared memory. Such an analysis is undecidable in the presence of multiple procedures. One approach used in recent work obtains decidability by providing only a partial guarantee of correctness: the approach bounds the number of context switches allowed in the concurrent program, and aims to prove safety, or find bugs, under the given bound. In this paper, we show how to obtain simple and efficient algorithms for the analysis of concurrent programs with a context bound. We give a general reduction from a concurrentprogram P, and a given context bound K, to a sequentialprogram $P_s^K$ such that the analysis of $P_s^K$ can be used to prove properties about P. We give instances of the reduction for common program models used in model checking, such as Boolean programs and pushdown systems.