Efficient algorithms for pre* and post* on interprocedural parallel flow graphs
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Reachability Analysis of Pushdown Automata: Application to Model-Checking
CONCUR '97 Proceedings of the 8th International Conference on Concurrency Theory
The Regular Viewpoint on PA-Processes
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
An Automata-Theoretic Approach to Interprocedural Data-Flow Analysis
FoSSaCS '99 Proceedings of the Second International Conference on Foundations of Software Science and Computation Structure, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
A BDD-Based Model Checker for Recursive Programs
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
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
On the analysis of interacting pushdown systems
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Robust Class of Context-Sensitive Languages
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
On the Reachability Analysis of Acyclic Networks of Pushdown Systems
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
Weighted pushdown systems and their application to interprocedural dataflow analysis
SAS'03 Proceedings of the 10th international conference on Static analysis
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
Reasoning about threads communicating via locks
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
On computing reachability sets of process rewrite systems
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
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
Reasoning about threads with bounded lock chains
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
Hi-index | 0.00 |
We address the verification problem of networks of communicating pushdown systems modeling communicating parallel programs with procedure calls. Processes in such networks can read the control state of the other processes according to a given communication structure (specifying the observability rights between processes). The reachability problem of such models is undecidable in general. First, we define a class of networks that effectively preserves recognizability (hence, its reachability problem is decidable). Then, we consider networks where the communication structure can change dynamically during the execution according to a phase graph. The reachability problem for these dynamic networks being undecidable in general, we define a subclass for which it becomes decidable. Then, we consider reachability when the switches in the communication structures are bounded. We show that this problem is undecidable even for one switch. Then, we define a natural class of models for which this problem is decidable. This class can be used in the definition of an efficient semi-decision procedure for the analysis of the general model of dynamic networks. Our techniques allowed to find bugs in two versions of a Windows NT Bluetooth driver.