skip to main content
10.1145/1706299.1706305acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Sequential verification of serializability

Published:17 January 2010Publication History

ABSTRACT

Serializability is a commonly used correctness condition in concurrent programming. When a concurrent module is serializable, certain other properties of the module can be verified by considering only its sequential executions. In many cases, concurrent modules guarantee serializability by using standard locking protocols, such as tree locking or two-phase locking. Unfortunately, according to the existing literature, verifying that a concurrent module adheres to these protocols requires considering concurrent interleavings.

In this paper, we show that adherence to a large class of locking protocols (including tree locking and two-phase locking) can be verified by considering only sequential executions. The main consequence of our results is that in many cases, the (manual or automatic) verification of serializability can itself be done using sequential reasoning .

References

  1. D. Amit, N. Rinetzky, T. Reps, M. Sagiv, and E. Yahav. Comparison under abstraction for verifying linearizability. In CAV, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. H. Attiya, G. Ramalingam, and N. Rinetzky. Sequential verification of serializability. Technical report. http://www.dcs.qmul.ac.uk/~maon/pubs/seqser.pdf.Google ScholarGoogle Scholar
  3. J. Berdine, A. Chawdhary, B. Cook, D. Distefano, and P. O'Hearn. Variance analyses from invariance analyses. In POPL, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Berdine, T. Lev-Ami, R. Manevich, G. Ramalingam, and M. Sagiv. Thread quantification for concurrent shape analysis. In CAV, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. R. Bradley, Z. Manna, and H. B. Sipma. The polyranking principle. In ICALP, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. V. K. Chaudhri and V. Hadzilacos. Safe locking policies for dynamic databases. In PODS, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Cherem, T. M. Chilimbi, and S. Gulwani. Inferring locks for atomic sections. In PLDI, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. M. Clarke, Jr., O. Grumberg, and D. A. Peled. Model checking. MIT Press, Cambridge, MA, USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Cook, A. Podelski, and A. Rybalchenko. Termination proofs for systems code. In PLDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Elmas, S. Qadeer, and S. Tasiran. A calculus of atomic actions. In POPL, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Fich, M. Herlihy, and N. Shavit. On the space complexity of randomized synchronization. JACM, 45(5), 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Flanagan and S. Qadeer. A type and effect system for atomicity. In PLDI, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. TOPLAS, 12(3), 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Z. M. Kedem and A. Silberschatz. A characterization of database graphs admitting a simple locking protocol. Acta Informatica, 16, 1981.Google ScholarGoogle Scholar
  16. C. S. Lee, N. D. Jones, and A. M. Ben-Amram. The size-change principle for program termination. In POPL, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Lev-Ami, T. Reps, M. Sagiv, and R. Wilhelm. Putting static analysis to work for verification: A case study. In ISSTA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. Lev-Ami and M. Sagiv. TVLA: A framework for Kleene based static analysis. In SAS. Springer, 2000.Google ScholarGoogle Scholar
  19. R. J. Lipton. Reduction: a method of proving properties of parallel programs. CACM, 18(12), 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Loginov, T. W. Reps, and M. Sagiv. Automated verification of the deutsch-schorr-waite tree-traversal algorithm. In SAS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Manevich, T. Lev-Ami, G. Ramalingam, M. Sagiv, and J. Berdine. Heap decomposition for concurrent shape analysis. In SAS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Miné. The octagon abstract domain. HOSC, 19(1), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. H. Papadimitriou. The serializability of concurrent database updates. J. ACM, 26(4), 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Segalov, T. Lev-Ami, R. Manevich, G. Ramalingam, and M. Sagiv. Abstract transformers for thread correlation analysis. In APLAS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. D. Stoller and E. Cohen. Optimistic synchronization-based state-space reduction. FMSD, 28(3), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R. H. Thomas. A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst., 4(2), 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. V. Vafeiadis. Shape-value abstraction for verifying linearizability. In VMCAI, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. Weikum and G. Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control. Morgan Kaufmann, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Sequential verification of serializability

                    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
                    • Published in

                      cover image ACM Conferences
                      POPL '10: Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
                      January 2010
                      520 pages
                      ISBN:9781605584799
                      DOI:10.1145/1706299
                      • cover image ACM SIGPLAN Notices
                        ACM SIGPLAN Notices  Volume 45, Issue 1
                        POPL '10
                        January 2010
                        500 pages
                        ISSN:0362-1340
                        EISSN:1558-1160
                        DOI:10.1145/1707801
                        Issue’s Table of Contents

                      Copyright © 2010 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 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]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 17 January 2010

                      Permissions

                      Request permissions about this article.

                      Request Permissions

                      Check for updates

                      Qualifiers

                      • research-article

                      Acceptance Rates

                      Overall Acceptance Rate824of4,130submissions,20%

                      Upcoming Conference

                      POPL '25

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader