Join-Lock-Sensitive Forward Reachability Analysis for Concurrent Programs with Dynamic Process Creation
Dynamic Pushdown Networks (DPNs) are a model for parallel programs with (recursive) procedures and dynamic process creation. Constraints on the sequences of spawned processes allow to extend the basic model with joining of created processes . Orthogonally DPNs can be extended with nested locking . Reachability of a regular set R of configurations in presence of stable constraints as well as reachability without constraints but with nested locking are based on computing the set of predecessors pre*(R). In the present paper, we present a forward-propagating algorithm for deciding reachability for DPNs. We represent sets of executions by sets of execution trees and show that the set of all execution trees resulting in configurations from R which either allow a lock-sensitive execution or a join-sensitive execution, is regular. Here, we rely on basic results about macro tree transducers. As a second contribution, we show that reachability is decidable also for DPNs with both nested locking and joins.
Unable to display preview. Download preview PDF.
- 4.Esparza, J., Podelski, A.: Efficient algorithms for pre* and post* on interprocedural parallel flow graphs. In: POPL, pp. 1–11 (2000)Google Scholar
- 5.Gawlitza, T.M., Lammich, P., Müller-Olm, M., Seidl, H., Wenner, A.: Join-locksensitive forward reachability analysis for concurrent programs with dynamic process creation, http://cs.uni-muenster.de/sev/publications/ (extended version)
- 6.Kahlon, V., Gupta, A.: An automata-theoretic approach for model checking threads for LTL properties. In: Proc. of LICS 2006, pp. 101–110. IEEE Computer Society, Los Alamitos (2006)Google Scholar
- 10.Müller-Olm, M., Seidl, H.: On optimal slicing of parallel programs. In: STOC, pp. 647–656 (2001)Google Scholar