Abstract
We propose a general formal model of isolated hierarchical parallel computations, and identify several fragments to match the concurrency constructs present in real-world programming languages such as Cilk and X10. By associating fundamental formal models (vector addition systems with recursive transitions) to each fragment, we provide a common platform for exposing the relative difficulties of algorithmic reasoning. For each case we measure the complexity of deciding state reachability for finite-data recursive programs, and propose algorithms for the decidable cases. The complexities which include PTIME, NP, EXPSPACE, and 2EXPTIME contrast with undecidable state reachability for recursive multithreaded programs.
- Abdulla, P. A., Cerans, K., Jonsson, B., and Tsay, Y.-K. 1996. General decidability theorems for infinite-state systems. In Proceedings of the 11th IEEE Symposium on Logic in Computer Science (LICS’96). 313--321. Google Scholar
Digital Library
- Agarwal, S., Barik, R., Sarkar, V., and Shyamasundar, R. K. 2007. May-happen-in-parallel analysis of X10 programs. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP’07). ACM Press, New York, 183--193. Google Scholar
Digital Library
- Allen, E., Chase, D., Luchangco, V., Maessen, J.-W., Ryu, S., Steele Jr., G. L., and Tobin-Hochstadt, S. 2006. The fortress language specification. Tech. rep., Sun Microsystems, Inc.Google Scholar
- Apt, K. R. and Kozen, D. 1986. Limits for automatic verification of finite-state concurrent systems. Inf. Process. Lett. 22, 6, 307--309. Google Scholar
Digital Library
- Atig, M. F., Bouajjani, A., and Touili, T. 2008. Analyzing asynchronous programs with preemption. In Proceedings of the IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS’08). Leibniz International Proceedings in Informatics, vol. 2, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 37--48.Google Scholar
- Atig, M. F., Bouajjani, A., and Qadeer, S. 2011. Context-bounded analysis for concurrent programs with dynamic creation of threads. Logic. Methods Comput. Sci. 7, 4.Google Scholar
- Ball, T., Chaki, S., and Rajamani, S. K. 2001. Parameterized verification of multithreaded software libraries. In Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’01). Lecture Notes in Computer Science, vol. 2031, Springer, 158--173. Google Scholar
Digital Library
- Bouajjani, A. and Esparza, J. 2006. Rewriting models of Boolean programs. In Proceedings of the 17th International Conference on Term Rewriting and Applications (RTA’06). Lecture Notes in Computer Science, vol. 4098, Springer, 136--150. Google Scholar
Digital Library
- Bouajjani, A., Müller-Olm, M., and Touili, T. 2005. Regular symbolic analysis of dynamic networks of pushdown systems. In Proceedings of the 16th International Conference on Concurrency Theory (CONCUR’05). Lecture Notes in Computer Science, vol. 3653, Springer, 473--487. Google Scholar
Digital Library
- Burckhardt, S., Baldassin, A., and Leijen, D. 2010. Concurrent programming with revisions and isolation types. In Proceedings of the 25th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’10). ACM Press, New York, 691--707. Google Scholar
Digital Library
- Chamberlain, B. L., Callahan, D., and Zima, H. P. 2007. Parallel programmability and the Chapel language. Int. J. High Perform. Comput. Appl. 21, 3, 291--312. Google Scholar
Digital Library
- Charles, P., Grothoff, C., Saraswat, V. A., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., and Sarkar, V. 2005. X10: An object-oriented approach to non-uniform cluster computing. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’05). ACM Press, New York, 519--538. Google Scholar
Digital Library
- Chaudhuri, S. 2008. Subcubic algorithms for recursive state machines. In Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’08). ACM Press, 159--169. Google Scholar
Digital Library
- Clarke, E. M. and Emerson, E. A. 1981. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Logic of Programs, Lecture Notes in Computer Science, vol. 131, Springer, 52--71. Google Scholar
Digital Library
- Clarke, E. M., Grumberg, O., and Peled, D. 2001. Model Checking. MIT Press.Google Scholar
- Cousot, P. and Cousot, R. 1976. Static determination of dynamic properties of programs. In Proceedings of the 2nd International Symposium on Programming. 106--130.Google Scholar
- Cousot, P. and Cousot, R. 1977. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’77). ACM Press, New York, 238--252. Google Scholar
Digital Library
- Delzanno, G., Raskin, J.-F., and Begin, L. V. 2002. Towards the automated verification of multithreaded Java programs. In Proceedings of tghe 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’02). Lecture Notes in Computer Science, vol. 2280, Springer, 173--187. Google Scholar
Digital Library
- Demri, S., Jurdzinski, M., Lachish, O., and Lazic, R. 2009. The covering and boundedness problems for branching vector addition systems. In Proceedings of the IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS’09). Leibniz International Proceedings in Informatics Series, vol. 4, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 181--192.Google Scholar
- Elmas, T., Qadeer, S., and Tasiran, S. 2009. A calculus of atomic actions. In Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’09). ACM Press, New York, 2--15. Google Scholar
Digital Library
- Emmi, M., Qadeer, S., and Rakamaric, Z. 2011. Delay-bounded scheduling. In Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’11). ACM Press, New York, 411--422. Google Scholar
Digital Library
- Emmi, M., Lal, A., and Qadeer, S. 2012. Asynchronous programs with prioritized task-buffers. In Proceedings of the 20th International Symposium on the Foundations of Software Engineering (FSE’12). ACM Press, New York. Google Scholar
Digital Library
- Esparza, J. and Nielsen, M. 1994. Decidability issues for Petri nets - A survey. Bull. Euro. Assoc. Theor. Comput. Sci. 52, 244--262.Google Scholar
- Esparza, J. and Podelski, A. 2000. Efficient algorithms for pre* and post* on interprocedural parallel flow graphs. In Proceedings of thge 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’00). ACM Press, New York, 1--11. Google Scholar
Digital Library
- Esparza, J. and Ganty, P. 2011. Complexity of pattern-based verification for multithreaded programs. In Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’11). ACM Press, New York, 499--510. Google Scholar
Digital Library
- Esparza, J., Kucera, A., and Schwoon, S. 2003. Model checking LTL with regular valuations for pushdown systems. Inf. Comput. 186, 2, 355--376. Google Scholar
Digital Library
- Fatahalian, K., Horn, D. R., Knight, T. J., Leem, L., Houston, M., Park, J. Y., Erez, M., Ren, M., Aiken, A., Dally, W. J., and Hanrahan, P. 2006. Sequoia: Programming the memory hierarchy. In Proceedings of the ACM/IEEE SC2006 Conference on High Performance Networking and Computing (SC’06). ACM Press, New York, 83. Google Scholar
Digital Library
- Finkel, A. and Schnoebelen, P. 2001. Well-structured transition systems everywhere! Theor. Comput. Sci. 256, 1--2, 63--92. Google Scholar
Digital Library
- Flanagan, C. and Felleisen, M. 1999. The semantics of future and an application. J. Funct. Program. 9, 1, 1--31. Google Scholar
Digital Library
- Flanagan, C. and Qadeer, S. 2003. Thread-modular model checking. In Proceedings of the 10th International Workshop on Model Checking Software (SPIN’03). Lecture Notes in Computer Science, vol. 2648, Springer, 213--224. Google Scholar
Digital Library
- Ganty, P. and Majumdar, R. 2012. Algorithmic verification of asynchronous programs. ACM Trans. Program. Lang. Syst. 34, 1, 6. Google Scholar
Digital Library
- Ganty, P., Majumdar, R., and Rybalchenko, A. 2009. Verifying liveness for asynchronous programs. In Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’09). ACM Press, New York, 102--113. Google Scholar
Digital Library
- Geeraerts, G., Heußner, A., and Raskin, J.-F. 2012. Queue-dispatch asynchronous systems. CoRR abs/1201.4871. http://www.swt-bamberg.de/aheussner/files/heussner-a-2013--a.pdf.Google Scholar
- Geeraerts, G., Raskin, J.-F., and Begin, L. V. 2006. Expand, enlarge and check: New algorithms for the coverability problem of WSTS. J. Comput. Syst. Sci. 72, 1, 180--203. Google Scholar
Digital Library
- German, S. M. and Sistla, A. P. 1992. Reasoning about systems with many processes. J. ACM 39, 3, 675--735. Google Scholar
Digital Library
- Graf, S. and Saïdi, H. 1997. Construction of abstract state graphs with PVS. In Proceedings of the 9th International Conference on Computer Aided Verification (CAV’97). Lecture Notes in Computer Science Series, vol. 1254, Springer, 72--83. Google Scholar
Digital Library
- Gray, J. 1985. Why do computers stop and what can be about it? http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf.Google Scholar
- Gupta, A., Popeea, C., and Rybalchenko, A. 2011. Predicate abstraction and refinement for verifying multi-threaded programs. In Proceedings 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’11). ACM Press, New York, 331--344. Google Scholar
Digital Library
- Halstead Jr., R. H. 1985. Multilisp: A language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7, 4, 501--538. Google Scholar
Digital Library
- Henzinger, T. A., Jhala, R., Majumdar, R., and Qadeer, S. 2003. Thread-modular abstraction refinement. In Proceedings of the 15th International Conference on Computer Aided Verification (CAV’03). Lecture Notes in Computer Science, vol. 2725, Springer, 262--274.Google Scholar
Cross Ref
- Jhala, R. and Majumdar, R. 2007. Interprocedural analysis of asynchronous programs. In Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’07). ACM Press, New York, 339--350. Google Scholar
Digital Library
- Kahlon, V. 2009. Boundedness vs. unboundedness of lock chains: Characterizing decidability of pairwise CFL-reachability for threads communicating via locks. In Proceedings of the 24th Annual IEEE Symposium on Logic in Computer Science (LICS’09). 27--36. Google Scholar
Digital Library
- Karp, R. M. and Miller, R. E. 1969. Parallel program schemata. J. Comput. Syst. Sci. 3, 2, 147--195. Google Scholar
Digital Library
- Knoop, J., Steffen, B., and Vollmer, J. 1996. Parallelism for free: Efficient and optimal bitvector analyses for parallel programs. ACM Trans. Program. Lang. Syst. 18, 3, 268--299. Google Scholar
Digital Library
- Kosaraju, S. R. 1982. Decidability of reachability in vector addition systems (preliminary version). In Proceedings of the 14th Annual ACM Symposium on Theory of Computing (STOC’82). ACM Press, New York, 267--281. Google Scholar
Digital Library
- Kozen, D. 1977. Lower bounds for natural proof systems. In Proceedings of the 18th Annual Symposium on Foundations of Computer Science (FOCS’77). IEEE Computer Society, Lois Alamitos, CA, 254--266. Google Scholar
Digital Library
- La Torre, S., Madhusudan, P., and Parlato, G. 2009. Reducing context-bounded concurrent reachability to sequential reachability. In Proceedings of the 21st International Conference on Computer Aided Verification (CAV’09). Lecture Notes in Computer Science, vol. 5643, Springer, 477--492. Google Scholar
Digital Library
- La Torre, S., Madhusudan, P., and Parlato, G. 2010. Model-checking parameterized concurrent programs using linear interfaces. In Proceedings of the 22nd International Conference on Computer Aided Verification (CAV’10). Lecture Notes in Computer Science, vol. 6174, Springer, 629--644. Google Scholar
Digital Library
- Lal, A. and Reps, T. W. 2009. Reducing concurrent analysis under a context bound to sequential analysis. Formal Methods Syst. Des. 35, 1, 73--97. Google Scholar
Digital Library
- Larus, J. R. and Rajwar, R. 2006. Transactional Memory. Morgan & Claypool. http://www.morganclaypool.com/doi/abs/10.2200/S00070ED1V01Y200611CAC002.Google Scholar
- Lee, E. A. 2006. The problem with threads. IEEE Comput. 39, 5, 33--42. Google Scholar
Digital Library
- Lee, J. K. and Palsberg, J. 2010. Featherweight X10: A core calculus for async-finish parallelism. In Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP’10). ACM Press, New York, 25--36. Google Scholar
Digital Library
- Leijen, D., Schulte, W., and Burckhardt, S. 2009. The design of a task parallel library. In Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’09). ACM Press, New York, 227--242. Google Scholar
Digital Library
- Leroux, J. 2011. Vector addition system reachability problem: A short self-contained proof. In Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’11). ACM Press, New York, 307--316. Google Scholar
Digital Library
- Lipton, R. J. 1976. The reachability problem requires exponential space. Tech. rep. 62, Yale University.Google Scholar
- Mayr, E. W. 1981. An algorithm for the general Petri net reachability problem. In Proceedings of the 13th Annual ACM Symposium on Theory of Computing (STOC’81). ACM Press, New York, 238--246. Google Scholar
Digital Library
- Musuvathi, M. and Qadeer, S. 2007. Iterative context bounding for systematic testing of multithreaded programs. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’07). ACM Press, New York, 446--455. Google Scholar
Digital Library
- Nielson, F., Nielson, H. R., and Hankin, C. 1999. Principles of program analysis. Springer. Google Scholar
Digital Library
- Owicki, S. S. and Gries, D. 1976. Verifying properties of parallel programs: An axiomatic approach. Comm. ACM 19, 5, 279--285. Google Scholar
Digital Library
- Papadimitriou, C. H. 1993. Computational Complexity. Addison Wesley.Google Scholar
- Parikh, R. 1966. On context-free languages. J. ACM 13, 4, 570--581. Google Scholar
Digital Library
- Pratikakis, P., Vandierendonck, H., Lyberis, S., and Nikolopoulos, D. S. 2011. A programming model for deterministic task parallelism. In Proceedings of the 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness (MSPC’11). ACM Press, New York, 7--12. Google Scholar
Digital Library
- Qadeer, S. and Wu, D. 2004. KISS: Keep it simple and sequential. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’04). ACM Press, New York, 14--24. Google Scholar
Digital Library
- Qadeer, S. and Rehof, J. 2005. Context-bounded model checking of concurrent software. In Proceedings of the 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’05). Lecture Notes in Computer Science, vol. 3440, Springer, 93--107. Google Scholar
Digital Library
- Queille, J.-P. and Sifakis, J. 1982. Specification and verification of concurrent systems in cesar. In Proceedings of the 5th Colloquium of International Symposium on Programming. Lecture Notes in Computer Science, vol. 137, Springer, 337--351. Google Scholar
Digital Library
- Rackoff, C. 1978. The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223--231.Google Scholar
Cross Ref
- Ramalingam, G. 2000. Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans. Program. Lang. Syst. 22, 2, 416--430. Google Scholar
Digital Library
- Randall, K. H. 1998. Cilk: Efficient multithreaded computing. Ph.D. thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology. Google Scholar
Digital Library
- Reps, T. W., Horwitz, S., and Sagiv, S. 1995. Precise interprocedural dataflow analysis via graph reachability. In Proceedings of the 22th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’95). ACM Press, New York, 49--61. Google Scholar
Digital Library
- Savitch, W. J. 1970. Relationships between nondeterministic and deterministic tape complexities. J. Comput. Syst. Sci. 4, 2, 177--192. Google Scholar
Digital Library
- Segulja, C. and Abdelrahman, T. S. 2011. Synchronization-free and deterministic coarse-grain parallelism: Architectural support and programming model. In Proceedings of the 1st International Workshop on Future Architectural Support for Parallel Programming.Google Scholar
- Seidl, H. and Steffen, B. 2000. Constraint-based inter-procedural analysis of parallel programs. In Proceedings of the 9th European Symposium on Programming (ESOP’00). Lecture Notes in Computer Science, vol. 1782, Springer, 351--365. Google Scholar
Digital Library
- Seidl, H., Schwentick, T., Muscholl, A., and Habermehl, P. 2004. Counting in trees for free. In Proceedings of the 31st International Colloquium on Automata, Languages and Programming (ICALP’04). Lecture Notes in Computer Science, vol. 3142, Springer, 1136--1149.Google Scholar
Cross Ref
- Sen, K. and Viswanathan, M. 2006. Model checking multithreaded programs with asynchronous atomic methods. In Proceedings 18th International Conference on Computer Aided Verification (CAV’06). Lecture Notes in Computer Science, vol. 4144, Springer, 300--314. Google Scholar
Digital Library
- Sharir, M. and Pnueli, A. 1981. Two approaches to interprocedural data-flow analysis. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones Eds., Prentice-Hall, Chapter 7, 189--234.Google Scholar
- Sipser, M. 1997. Introduction to the theory of computation. PWS Publishing Company. Google Scholar
Digital Library
- Taylor, R. N. 1983. Complexity of analyzing the synchronization structure of concurrent programs. Acta Inf. 19, 57--84.Google Scholar
Digital Library
- Verma, K. N. and Goubault-Larrecq, J. 2005. Karp-Miller trees for a branching extension of VASS. Discr. Math. Theor. Comput. Sci. 7, 1, 217--230.Google Scholar
- Verma, K. N., Seidl, H., and Schwentick, T. 2005. On the complexity of equational horn clauses. In Proceedings of the 20th International Conference on Automated Deduction (CADE’05). Lecture Notes in Computer Science, vol. 3632, Springer, 337--352. Google Scholar
Digital Library
Index Terms
Analysis of Recursively Parallel Programs
Recommendations
Analysis of recursively parallel programs
POPL '12We propose a general formal model of isolated hierarchical parallel computations, and identify several fragments to match the concurrency constructs present in real-world programming languages such as Cilk and X10. By associating fundamental formal ...
Analysis of recursively parallel programs
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesWe propose a general formal model of isolated hierarchical parallel computations, and identify several fragments to match the concurrency constructs present in real-world programming languages such as Cilk and X10. By associating fundamental formal ...
A unifying logic for non-deterministic, parallel and concurrent abstract state machines
We develop a logic which enables reasoning about single steps of non-deterministic and parallel Abstract State Machines (ASMs). Our logic builds upon the unifying logic introduced by Nanchen and St rk for reasoning about hierarchical (parallel) ASMs. ...






Comments