On the regular structure of prefix rewriting
CAAP '90 Selected papers of the conference on Fifteenth colloquium on trees in algebra and programming
Context-free languages and pushdown automata
Handbook of formal languages, vol. 1
Journal of the ACM (JACM)
Efficient algorithms for pre* and post* on interprocedural parallel flow graphs
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
Well-structured transition systems everywhere!
Theoretical Computer Science
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The regular viewpoint on PA-processes
Theoretical Computer Science
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
Constraint-Based Inter-Procedural Analysis of Parallel Programs
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
Decidability and Complexity of Petri Net Problems - An Introduction
Lectures on Petri Nets I: Basic Models, Advances in Petri Nets, the volumes are based on the Advanced Course on Petri Nets
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
A type and effect system for atomicity
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Precise interprocedural dependence analysis of parallel programs
Theoretical Computer Science
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
Regular symbolic analysis of dynamic networks of pushdown systems
CONCUR 2005 - Concurrency Theory
Learning assumptions for compositional verification
TACAS'03 Proceedings of the 9th 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
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
Interprocedural analysis of asynchronous programs
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symbolic Context-Bounded Analysis of Multithreaded Java Programs
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
Verifying liveness for asynchronous programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
A view of the parallel computing landscape
Communications of the ACM - A View of Parallel Computing
Deciding branching time properties for asynchronous programs
Theoretical Computer Science
Analyzing Real-Time Event-Driven Programs
FORMATS '09 Proceedings of the 7th International Conference on Formal Modeling and Analysis of Timed 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
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about threads with bounded lock chains
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
Complexity analysis of the backward coverability algorithm for VASS
RP'11 Proceedings of the 5th international conference on Reachability problems
Underspecified harnesses and interleaved bugs
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analysis of recursively parallel programs
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Algorithmic verification of asynchronous programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reachability analysis of communicating pushdown systems
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
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
Synchronisation- and reversal-bounded analysis of multithreaded programs with counters
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
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
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
Finding non-terminating executions in distributed asynchronous programs
SAS'12 Proceedings of the 19th international conference on Static Analysis
Bounded context-switching and reentrant locking
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Analysis of Recursively Parallel Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Well-Structured pushdown systems
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
Safety verification of asynchronous pushdown systems with shaped stacks
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
Hi-index | 0.00 |
In order to make multithreaded programming manageable, programmers often follow a design principle where they break the problem into tasks which are then solved asynchronously and concurrently on different threads. This paper investigates the problem of model checking programs that follow this idiom. We present a programming language Spl that encapsulates this design pattern. Spl extends simplified form of sequential Java to which we add the capability of making asynchronous method invocations in addition to the standard synchronous method calls and the ability to execute asynchronous methods in threads atomically and concurrently. Our main result shows that the control state reachability problem for finite Spl programs is decidable. Therefore, such multithreaded programs can be model checked using the counterexample guided abstraction-refinement framework.