Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2103656.2103681acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Analysis of recursively parallel programs

Published: 25 January 2012 Publication History

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 multi-threaded programs.

Supplementary Material

JPG File (popl_3b_2.jpg)
MP4 File (popl_3b_2.mp4)

References

[1]
P. A. Abdulla, K. Cerans, B. Jonsson, and Y.-K. Tsay. General decidability theorems for infinite-state systems. In LICS '96: Proc. 11th IEEE Symposium on Logic in Computer Science, pages 313--321. IEEE Computer Society, 1996.
[2]
E. Allen, D. Chase, V. Luchangco, J.-W. Maessen, S. Ryu, G. L. S. Jr., and S. Tobin-Hochstadt. The Fortress language specification. Technical report, Sun Microsystems, Inc., 2006.
[3]
A. Bouajjani and M. Emmi. Analysis of recursively parallel programs. 2011. http://hal.archives-ouvertes.fr/hal-00639351/en.
[4]
A. Bouajjani and J. Esparza. Rewriting models of boolean programs. In RTA '06: Proc. 17th International Conference on Term Rewriting and Applications, volume 4098 of LNCS, pages 136--150. Springer, 2006.
[5]
A. Bouajjani, M. Müller-Olm, and T. Touili. Regular symbolic analysis of dynamic networks of pushdown systems. In CONCUR '05: Proc. 16th International Conference on Concurrency Theory, volume 3653 of LNCS, pages 473--487. Springer, 2005.
[6]
S. Burckhardt, A. Baldassin, and D. Leijen. Concurrent programming with revisions and isolation types. In OOPSLA '10: Proc. 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 691--707. ACM, 2010.
[7]
P. Charles, C. Grothoff, V. A. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In OOPSLA '05: Proc. 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 519--538. ACM, 2005.
[8]
S. Demri, M. Jurdzinski, O. Lachish, and R. Lazic. The covering and boundedness problems for branching vector addition systems. In FSTTCS '09: IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, pages 181--192, 2009.
[9]
J. Esparza and P. Ganty. Complexity of pattern-based verification for multithreaded programs. In POPL '11: Proc. 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 499--510. ACM, 2011.
[10]
J. Esparza and A. Podelski. Efficient algorithms for pre* and post* on interprocedural parallel flow graphs. In POPL '00: Proc. 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 1--11. ACM, 2000.
[11]
A. Finkel and P. Schnoebelen. Well-structured transition systems everywhere! Theor. Comput. Sci., 256 (1--2): 63--92, 2001.
[12]
C. Flanagan and M. Felleisen. The semantics of future and an application. J. Funct. Program., 9 (1): 1--31, 1999.
[13]
C. Flanagan and S. Qadeer. Thread-modular model checking. In SPIN '03: Proc. 10th International Workshop on Model Checking Software, volume 2648 of LNCS, pages 213--224. Springer, 2003.
[14]
P. Ganty and R. Majumdar. Algorithmic verification of asynchronous programs. CoRR, abs/1011.0551, 2010. http://arxiv.org/abs/1011.0551.
[15]
G. Geeraerts, J.-F. Raskin, and L. V. Begin. Expand, enlarge and check: New algorithms for the coverability problem of wsts. J. Comput. Syst. Sci., 72 (1): 180--203, 2006.
[16]
S. Graf and H. Saıdi. Construction of abstract state graphs with PVS. In CAV '97: Proc. 9th International Conference on Computer Aided Verification, volume 1254 of LNCS, pages 72--83. Springer, 1997.
[17]
R. H. Halstead Jr. Multilisp: A language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst., 7 (4): 501--538, 1985.
[18]
T. A. Henzinger, R. Jhala, R. Majumdar, and S. Qadeer. Thread-modular abstraction refinement. In CAV '03: Proc. 15th International Conference on Computer Aided Verification, volume 2725 of LNCS, pages 262--274. Springer, 2003.
[19]
R. Jhala and R. Majumdar. Interprocedural analysis of asynchronous programs. In POPL '07: Proc. 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 339--350. ACM, 2007.
[20]
V. Kahlon. Boundedness vs. unboundedness of lock chains: Characterizing decidability of pairwise CFL-reachability for threads communicating via locks. In LICS '09: Proc. 24th Annual IEEE Symposium on Logic in Computer Science, pages 27--36. IEEE Computer Society, 2009.
[21]
D. Kozen. Lower bounds for natural proof systems. In FOCS '77: Proc. 18th Annual Symposium on Foundations of Computer Science, pages 254--266. IEEE Computer Society, 1977.
[22]
A. Lal and T. W. Reps. Reducing concurrent analysis under a context bound to sequential analysis. Formal Methods in System Design, 35 (1): 73--97, 2009.
[23]
J. R. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool, 2006. http://www.morganclaypool.com/doi/abs/10.2200/S00070ED1V01Y200611CAC002.
[24]
E. A. Lee. The problem with threads. IEEE Computer, 39 (5): 33--42, 2006.
[25]
D. Leijen, W. Schulte, and S. Burckhardt. The design of a task parallel library. In OOPSLA '09: Proc. 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 227--242. ACM, 2009.
[26]
R. J. Lipton. The reachability problem requires exponential space. Technical Report 62, Yale University, 1976.
[27]
P. Pratikakis, H. Vandierendonck, S. Lyberis, and D. S. Nikolopoulos. A programming model for deterministic task parallelism. In MSPC '11: Proc. 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, pages 7--12. ACM, 2011.
[28]
C. Rackoff. The covering and boundedness problems for vector addition systems. Theor. Comput. Sci., 6: 223--231, 1978.
[29]
G. Ramalingam. Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans. Program. Lang. Syst., 22 (2): 416--430, 2000.
[30]
K. H. Randall. Cilk: Efficient Multithreaded Computing. PhD thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, May 1998.
[31]
T. W. Reps, S. Horwitz, and S. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In POPL '95: Proc. 22th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 49--61. ACM, 1995.
[32]
C. Segulja and T. S. Abdelrahman. Synchronization-free and deterministic coarse-grain parallelism: Architectural support and programming model. In FASPP '11: Proc. First International Workshop on Future Architectural Support for Parallel Programming, 2011.
[33]
K. Sen and M. Viswanathan. Model checking multithreaded programs with asynchronous atomic methods. In CAV '06: Proc. 18th International Conference on Computer Aided Verification, volume 4144 of LNCS, pages 300--314. Springer, 2006.

Cited By

View all
  • (2022)Automated Synthesis of AsynchronizationsStatic Analysis10.1007/978-3-031-22308-2_7(135-159)Online publication date: 2-Dec-2022
  • (2020)Symbolic verification of message passing interface programsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380419(1248-1260)Online publication date: 27-Jun-2020
  • (2017)On Abstraction-Based Deadlock-Analysis in Service-Oriented Systems with RecursionService-Oriented and Cloud Computing10.1007/978-3-319-67262-5_13(168-176)Online publication date: 1-Sep-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2012
602 pages
ISBN:9781450310833
DOI:10.1145/2103656
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 47, Issue 1
    POPL '12
    January 2012
    569 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2103621
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 January 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency
  2. parallelism
  3. verification

Qualifiers

  • Research-article

Conference

POPL '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Automated Synthesis of AsynchronizationsStatic Analysis10.1007/978-3-031-22308-2_7(135-159)Online publication date: 2-Dec-2022
  • (2020)Symbolic verification of message passing interface programsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380419(1248-1260)Online publication date: 27-Jun-2020
  • (2017)On Abstraction-Based Deadlock-Analysis in Service-Oriented Systems with RecursionService-Oriented and Cloud Computing10.1007/978-3-319-67262-5_13(168-176)Online publication date: 1-Sep-2017
  • (2017)Hardness Results for Coverability Problem of Well-Structured Pushdown SystemsLanguage and Automata Theory and Applications10.1007/978-3-319-53733-7_32(435-446)Online publication date: 16-Feb-2017
  • (2016)Actors may synchronize, safely!Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming10.1145/2967973.2968599(118-131)Online publication date: 5-Sep-2016
  • (2016)Termination and Boundedness for Well-Structured Pushdown Systems2016 10th International Symposium on Theoretical Aspects of Software Engineering (TASE)10.1109/TASE.2016.30(22-29)Online publication date: Jul-2016
  • (2015)On the Verification of Concurrent, Asynchronous Programs with Waiting QueuesACM Transactions on Embedded Computing Systems10.1145/270007214:3(1-26)Online publication date: 30-Apr-2015
  • (2015)Analysis of Asynchronous Programs with Event-Based SynchronizationProgramming Languages and Systems10.1007/978-3-662-46669-8_22(535-559)Online publication date: 2015
  • (2014)Deadlock Detection in Linear Recursive ProgramsAdvanced Lectures of the 14th International School on Formal Methods for Executable Software Models - Volume 848310.1007/978-3-319-07317-0_2(26-64)Online publication date: 16-Jun-2014
  • (2013)Queue-Dispatch Asynchronous SystemsProceedings of the 2013 13th International Conference on Application of Concurrency to System Design10.1109/ACSD.2013.18(150-159)Online publication date: 8-Jul-2013
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media