skip to main content
research-article

On the Verification of Concurrent, Asynchronous Programs with Waiting Queues

Published:30 April 2015Publication History
Skip Abstract Section

Abstract

Recently, new libraries, such as Grand Central Dispatch (GCD), have been proposed to directly harness the power of multicore platforms and to make the development of concurrent software more accessible to software engineers. When using such a library, the programmer writes so-called blocks, which are chunks of code, and dispatches them using synchronous or asynchronous calls to several types of waiting queues. A scheduler is then responsible for dispatching those blocks among the available cores. Blocks can synchronize via a global memory. In this article, we propose Queue-Dispatch Asynchronous Systems as a mathematical model that faithfully formalizes the synchronization mechanisms and behavior of the scheduler in those systems. We study in detail their relationships to classical formalisms such as pushdown systems, Petri nets, Fifo systems, and counter systems. Our main technical contributions are precise worst-case complexity results for the Parikh coverability problem and the termination problem for several subclasses of our model. We also consider an extension of Qdas with a fork-join mechanism. Adding fork-join to any of the subclasses that we have identified leads to undecidability of the coverability problem. This motivates the study of over-approximations. Finally, we consider handmade abstractions as a practical way of verifying programs that cannot be faithfully modeled by decidable subclasses of Qdas.

References

  1. Apple. 2009. DispatchWebServer in Mac Developper Library. Retreived from https://developer.apple.com/library/mac/.Google ScholarGoogle Scholar
  2. Apple. 2010. Grand Central Dispatch (GCD) Reference. Technical Report.Google ScholarGoogle Scholar
  3. Apple. 2011. Concurrency Programming Guide. Technical Report.Google ScholarGoogle Scholar
  4. A. Bouajjani and M. Emmi. 2012. Analysis of recursively parallel programs. In Proceedings of POPL’12. 203--214. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Bouajjani, J. Esparza, and O. Maler. 1997. Reachability analysis of pushdown automata: Application to model-checking. In Proceedings of CONCUR’97 (LNCS), Vol. 1243. Springer, 135--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Brand and P. Zafiropulo. 1983. On communicating finite-state machines. Journal of the ACM 30, 2 (1983), 323--342. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Cousot and R. Cousot. 1977. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL’77. ACM, New York, NY, 238--252. DOI:http://dx.doi.org/10.1145/512950.512973 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Esparza. 1998. Decidability and complexity of Petri net problems—an introduction. In Lectures on Petri nets I. LNCS, Vol. 1491. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Esparza, D. Hansel, P. Rossmanith, and S. Schwoon. 2000. Efficient algorithms for model checking pushdown systems. In Proceedings of CAV’00 (LNCS), Vol. 1855. Springer, 232--247. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Ganty and R. Majumdar. 2012. Algorithmic verification of asynchronous programs. TOPLAS 34, 1 (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Ganty, R. Majumdar, and A. Rybalchenko. 2009. Verifying liveness for asynchronous programs. In Proceedings of POPL’09. ACM, 102--113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Geeraerts, A. Heußner, M. Praveen, and J.-F. Raskin. 2013b. ω-Petri nets. In Proceedings of Petri Nets 2013 (LNCS), Vol. 7927. Springer, 49--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. G. Geeraerts, A. Heußner, and J.-F. Raskin. 2013a. Queue-dispatch asynchronous systems. In Proceedings of ACSD’13. IEEE, 150--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Heußner, J. Leroux, A. Muscholl, and G. Sutre. 2012. Reachability analysis of communicating pushdown systems. Logical Methods in Computer Science 8, 3 (2012).Google ScholarGoogle Scholar
  15. S. Schwoon J. Esparza, and A. Kučera. 2003. Model checking LTL with regular valuations for pushdown systems. Information and Computation 186, 2 (2003), 355--376. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Jhala and R. Majumdar. 2007. Interprocedural analysis of asynchronous programs. In Proceedings of POPL’07. ACM, 339--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Kochems and C.-H. L. Ong. 2013. Safety verification of asynchronous pushdown systems with shaped stacks. In Proceedings of CONCUR’13 (LNCS), Vol. 8052. SV, 288--302. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. La Torre, P. Madhusudan, and G. Parlato. 2008. Context-bounded analysis of concurrent queue systems. In Proceedings of TACAS’08 (LNCS), Vol. 4963. Springer, 299--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. libdispatch. 2013. Project Web Page. Retrieved from http://libdispatch.macosforge.org/.Google ScholarGoogle Scholar
  20. R. Lipton. 1976. The Reachability Problem Requires Exponential Space. Technical Report 62. Yale University.Google ScholarGoogle Scholar
  21. M. Minsky. 1967. Computation: Finite and Infinite Machines. Prentice Hall Int. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. mist2. 2014. Tool repository and web page. (2014). https://github.com/pierreganty/mist.Google ScholarGoogle Scholar
  23. QDAS. 2014. mist2 Example Code. Retrieved from http://www.swt-bamberg.de/aheussner/research/qdas.html.Google ScholarGoogle Scholar
  24. C. Rackoff. 1978. The covering and boundedness problem for vector addition systems. Theoretical Computer Science 6 (1978), 233--231.Google ScholarGoogle ScholarCross RefCross Ref
  25. K. Sen and M. Viswanathan. 2006. Model checking multithreaded programs with asynchronous atomic methods. In Proceedings of CAV’06 (LNCS), Vol. 4144. 300--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. SPIN. 2014. Project Web Page. Retrieved from http://www.spinroot.com.Google ScholarGoogle Scholar

Index Terms

  1. On the Verification of Concurrent, Asynchronous Programs with Waiting Queues

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Transactions on Embedded Computing Systems
                ACM Transactions on Embedded Computing Systems  Volume 14, Issue 3
                Special Issue on Embedded Platforms for Crypto and Regular Papers
                May 2015
                515 pages
                ISSN:1539-9087
                EISSN:1558-3465
                DOI:10.1145/2764962
                Issue’s Table of Contents

                Copyright © 2015 ACM

                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 the author(s) 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].

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 30 April 2015
                • Accepted: 1 September 2014
                • Revised: 1 March 2014
                • Received: 1 November 2013
                Published in tecs Volume 14, Issue 3

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Research
                • Refereed

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader