Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verification techniques for cache coherence protocols
ACM Computing Surveys (CSUR)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-free languages and pushdown automata
Handbook of formal languages, vol. 1
Efficient algorithms for pre* and post* on interprocedural parallel flow graphs
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular refinement of hierarchic reactive machines
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying safety properties of concurrent Java programs using 3-valued logic
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bounded Model Checking Using Satisfiability Solving
Formal Methods in System Design
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
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
Specification and verification of concurrent systems in CESAR
Proceedings of the 5th Colloquium on International Symposium on Programming
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Assumption Generation for Software Component Verification
Proceedings of the 17th IEEE international conference on Automated software engineering
Bogor: an extensible and highly-modular software model checking framework
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Summarizing procedures in concurrent programs
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
Modular Verification of Software Components in C
IEEE Transactions on Software Engineering
CMC: a pragmatic approach to model checking real code
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
Modular verification of concurrent assembly code with dynamic thread creation and termination
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Regular symbolic analysis of dynamic networks of pushdown systems
CONCUR 2005 - Concurrency Theory
On the analysis of interacting pushdown systems
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verification of SpecC using predicate abstraction
Formal Methods in System Design
Iterative context bounding for systematic testing of multithreaded programs
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
On Symbolic Verification of Weakly Extended PAD
Electronic Notes in Theoretical Computer Science (ENTCS)
Verification of Boolean programs with unbounded thread creation
Theoretical Computer Science
Compositional verification of sequential programs with procedures
Information and Computation
Verification of well-formed communicating recursive state machines
Theoretical Computer Science
Solving Multiple Dataflow Queries Using WPDSs
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Reducing Concurrent Analysis Under a Context Bound to Sequential Analysis
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
The Case for Context-Bounded Verification of Concurrent Programs
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Efficient Modeling of Concurrent Systems in BMC
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Symbolic Context-Bounded Analysis of Multithreaded Java Programs
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Verifying Multi-threaded C Programs with SPIN
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
On the Reachability Analysis of Acyclic Networks of Pushdown Systems
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
Automatic Protocol Conformance Checking of Recursive and Parallel Component-Based Systems
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
Program Models for Compositional Verification
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
Games on Multi-stack Pushdown Systems
LFCS '09 Proceedings of the 2009 International Symposium on Logical Foundations of Computer Science
Realizability of Concurrent Recursive Programs
FOSSACS '09 Proceedings of the 12th International Conference on Foundations of Software Science and Computational Structures: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
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,
Analyzing recursive programs using a fixed-point calculus
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Bounded Communication Reachability Analysis of Process Rewrite Systems with Ordered Parallelism
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Reduction of Verification Conditions for Concurrent System Using Mutually Atomic Transactions
Proceedings of the 16th International SPIN Workshop on Model Checking Software
A Decision Procedure for Detecting Atomicity Violations for Communicating Processes with Locks
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Verifying Parallel Programs with Dynamic Communication Structures
CIAA '09 Proceedings of the 14th International Conference on Implementation and Application of Automata
ACM Computing Surveys (CSUR)
Reducing concurrent analysis under a context bound to sequential analysis
Formal Methods in System Design
Games on Higher Order Multi-stack Pushdown Systems
RP '09 Proceedings of the 3rd International Workshop on Reachability Problems
Platform-Specific Restrictions on Concurrency in Model Checking of Java Programs
FMICS '09 Proceedings of the 14th International Workshop on Formal Methods for Industrial Critical Systems
Symbolic Predictive Analysis for Concurrent Programs
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Verifying safety properties of concurrent heap-manipulating programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Chess: systematic stress testing of concurrent software
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Explaining intermittent concurrent bugs by minimizing scheduling noise
HVC'06 Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing
Context-bounded analysis of multithreaded programs with dynamic linked structures
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
SAT-based summarization for Boolean programs
Proceedings of the 14th international SPIN conference on Model checking software
A complete bounded model checking algorithm for pushdown systems
HVC'07 Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing
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
SMT-based bounded model checking for multi-threaded software in embedded systems
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Verifying parallel programs with dynamic communication structures
Theoretical Computer Science
Noetherian spaces in verification
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming: Part II
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
The tree width of auxiliary storage
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Verifying multi-threaded software using smt-based context-bounded model checking
Proceedings of the 33rd International Conference on Software Engineering
Static analysis of run-time errors in embedded critical parallel C programs
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Verifying SystemC: a software model checking approach
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Getting rid of store-buffers in TSO analysis
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Randomized backtracking in state space traversal
Proceedings of the 18th international SPIN conference on Model checking software
Temporal logics for concurrent recursive programs: satisfiability and model checking
MFCS'11 Proceedings of the 36th international conference on Mathematical foundations of computer science
Reachability of multistack pushdown systems with scope-bounded matching relations
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
Reasoning about threads with bounded lock chains
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
On sequentializing concurrent programs
SAS'11 Proceedings of the 18th international conference on Static analysis
The complexity of reversal-bounded model-checking
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
Verification of STM on relaxed memory models
Formal Methods in System Design
The language theory of bounded context-switching
LATIN'10 Proceedings of the 9th Latin American conference on Theoretical Informatics
An empirical study of quality and cost based security engineering
ISPEC'06 Proceedings of the Second international conference on Information Security Practice and Experience
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
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Global reachability in bounded phase multi-stack pushdown systems
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
Ranking abstraction of recursive programs
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Verification of well-formed communicating recursive state machines
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Bounded model checking of concurrent programs
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
Symbolic model checking for asynchronous boolean programs
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Timing analysis of interrupt-driven programs under context bounds
Proceedings of the International Conference on Formal Methods in Computer-Aided Design
Rewriting models of boolean programs
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
Algorithmic metatheorems for decidable LTL model checking over infinite systems
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Reachability analysis of communicating pushdown systems
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Efficient detection of errors in java components using random environment and restarts
TACAS'10 Proceedings of the 16th 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
Formalizing hardware/software interface specifications
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Formal Methods in System Design
Symbolic consistency checking of OpenMp parallel programs
Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems
Language-Theoretic abstraction refinement
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Bounded phase analysis of message-passing programs
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Predicting concurrency failures in the generalized execution traces of x86 executables
RV'11 Proceedings of the Second international conference on Runtime verification
Permission regions for race-free parallelism
RV'11 Proceedings of the Second international conference on Runtime verification
A Perfect Model for Bounded Verification
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Detecting fair non-termination in multithreaded programs
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Synchronisation- and reversal-bounded analysis of multithreaded programs with counters
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Weakly-Synchronized ground tree rewriting
MFCS'12 Proceedings of the 37th international conference on Mathematical Foundations of Computer Science
ACM SIGSOFT Software Engineering Notes
Precise thread-modular verification
SAS'07 Proceedings of the 14th international conference on Static Analysis
Decidability results for well-structured transition systems with auxiliary storage
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Asynchronous programs with prioritized task-buffers
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Reachability problem for weak multi-pushdown automata
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
MSO decidability of multi-pushdown systems via split-width
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
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
A temporal logic for multi-threaded programs
TCS'12 Proceedings of the 7th IFIP TC 1/WG 202 international conference on Theoretical Computer Science
Finding non-terminating executions in distributed asynchronous programs
SAS'12 Proceedings of the 19th international conference on Static Analysis
Model-Checking higher-order programs with recursive types
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Bounded context-switching and reentrant locking
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Reducing behavioural to structural properties of programs with procedures
Theoretical Computer Science
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Analysis of Recursively Parallel Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Partial orders for efficient bounded model checking of concurrent software
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Well-Structured pushdown systems
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
LLVMVF: A Generic Approach for Verification of Multicore Software
Journal of Electronic Testing: Theory and Applications
The Complexity of Model Checking Multi-stack Systems
LICS '13 Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
Hi-index | 0.00 |
The interaction among concurrently executing threads of a program results in insidious programming errors that are difficult to reproduce and fix. Unfortunately, the problem of verifying a concurrent boolean program is undecidable [24]. In this paper, we prove that the problem is decidable, even in the presence of unbounded parallelism, if the analysis is restricted to executions in which the number of context switches is bounded by an arbitrary constant. Restricting the analysis to executions with a bounded number of context switches is unsound. However, the analysis can still discover intricate bugs and is sound up to the bound since within each context, a thread is fully explored for unbounded stack depth. We present an analysis of a real concurrent system by the ZING model checker which demonstrates that the ability to model check with arbitrary but fixed context bound in the presence of unbounded parallelism is valuable in practice. Implementing context-bounded model checking in ZING is left for future work.