skip to main content
research-article
Open Access

Stratified Commutativity in Verification Algorithms for Concurrent Programs

Published:11 January 2023Publication History
Skip Abstract Section

Abstract

The importance of exploiting commutativity relations in verification algorithms for concurrent programs is well-known. They can help simplify the proof and improve the time and space efficiency. This paper studies commutativity relations as a first-class object in the setting of verification algorithms for concurrent programs. A first contribution is a general framework for abstract commutativity relations. We introduce a general soundness condition for commutativity relations, and present a method to automatically derive sound abstract commutativity relations from a given proof. The method can be used in a verification algorithm based on abstraction refinement to compute a new commutativity relation in each iteration of the abstraction refinement loop. A second result is a general proof rule that allows one to combine multiple commutativity relations, with incomparable power, in a stratified way that preserves soundness and allows one to profit from the full power of the combined relations. We present an algorithm for the stratified proof rule that performs an optimal combination (in a sense made formal), enabling usage of stratified commutativity in algorithmic verification. We empirically evaluate the impact of abstract commutativity and stratified combination of commutativity relations on verification algorithms for concurrent programs.

Skip Supplemental Material Section

Supplemental Material

References

  1. Parosh Aziz Abdulla, Stavros Aronis, Bengt Jonsson, and Konstantinos Sagonas. 2014. Optimal dynamic partial order reduction. In The 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’14, San Diego, CA, USA, January 20-21, 2014, Suresh Jagannathan and Peter Sewell (Eds.). ACM, 373–384. https://doi.org/10.1145/2535838.2535845 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Dirk Beyer. 2022. Progress on Software Verification: SV-COMP 2022. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part II, Dana Fisman and Grigore Rosu (Eds.) (Lecture Notes in Computer Science, Vol. 13244). Springer, 375–402. https://doi.org/10.1007/978-3-030-99527-0_20 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dirk Beyer, Stefan Löwe, and Philipp Wendler. 2019. Reliable benchmarking: requirements and solutions. Int. J. Softw. Tools Technol. Transf., 21, 1 (2019), 1–29. https://doi.org/10.1007/s10009-017-0469-y Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Franck Cassez and Frowin Ziegler. 2015. Verification of Concurrent Programs Using Trace Abstraction Refinement. In Logic for Programming, Artificial Intelligence, and Reasoning - 20th International Conference, LPAR-20 2015, Suva, Fiji, November 24-28, 2015, Proceedings, Martin Davis, Ansgar Fehnker, Annabelle McIver, and Andrei Voronkov (Eds.) (Lecture Notes in Computer Science, Vol. 9450). Springer, 233–248. https://doi.org/10.1007/978-3-662-48899-7_17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Duc-Hiep Chu and Joxan Jaffar. 2014. A Framework to Synergize Partial Order Reduction with State Interpolation. In Hardware and Software: Verification and Testing - 10th International Haifa Verification Conference, HVC 2014, Haifa, Israel, November 18-20, 2014. Proceedings, Eran Yahav (Ed.) (Lecture Notes in Computer Science, Vol. 8855). Springer, 171–187. https://doi.org/10.1007/978-3-319-13338-6_14 Google ScholarGoogle ScholarCross RefCross Ref
  6. Tayfun Elmas, Shaz Qadeer, and Serdar Tasiran. 2009. A calculus of atomic actions. In Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2009, Savannah, GA, USA, January 21-23, 2009, Zhong Shao and Benjamin C. Pierce (Eds.). ACM, 2–15. https://doi.org/10.1145/1480881.1480885 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Azadeh Farzan, Dominik Klumpp, and Andreas Podelski. 2022. Sound sequentialization for concurrent program verification. In PLDI ’22: 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, San Diego, CA, USA, June 13 - 17, 2022, Ranjit Jhala and Isil Dillig (Eds.). ACM, 506–521. https://doi.org/10.1145/3519939.3523727 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Azadeh Farzan, Dominik Klumpp, and Andreas Podelski. 2023. Appendix to: Stratified Commutativity in Verification Algorithms for Concurrent Programs. Uploaded as supplementary material to this paper in the ACM Digital Library Google ScholarGoogle Scholar
  9. Azadeh Farzan and Anthony Vandikas. 2019. Automated Hypersafety Verification. In Computer Aided Verification - 31st International Conference, CAV 2019, New York City, NY, USA, July 15-18, 2019, Proceedings, Part I, Isil Dillig and Serdar Tasiran (Eds.) (Lecture Notes in Computer Science, Vol. 11561). Springer, 200–218. https://doi.org/10.1007/978-3-030-25540-4_11 Google ScholarGoogle ScholarCross RefCross Ref
  10. Azadeh Farzan and Anthony Vandikas. 2020. Reductions for safety proofs. Proc. ACM Program. Lang., 4, POPL (2020), 13:1–13:28. https://doi.org/10.1145/3371081 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Cormac Flanagan and Patrice Godefroid. 2005. Dynamic partial-order reduction for model checking software. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, January 12-14, 2005, Jens Palsberg and Martín Abadi (Eds.). ACM, 110–121. https://doi.org/10.1145/1040305.1040315 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Patrice Godefroid. 1996. Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem (Lecture Notes in Computer Science, Vol. 1032). Springer. isbn:3-540-60761-7 https://doi.org/10.1007/3-540-60761-7 Google ScholarGoogle ScholarCross RefCross Ref
  13. Vineet Kahlon, Chao Wang, and Aarti Gupta. 2009. Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique. In Computer Aided Verification, 21st International Conference, CAV 2009, Grenoble, France, June 26 - July 2, 2009. Proceedings, Ahmed Bouajjani and Oded Maler (Eds.) (Lecture Notes in Computer Science, Vol. 5643). Springer, 398–413. https://doi.org/10.1007/978-3-642-02658-4_31 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dominik Klumpp, Daniel Dietsch, Matthias Heizmann, Frank Schüssele, Marcel Ebbinghaus, Azadeh Farzan, and Andreas Podelski. 2022. Ultimate GemCutter and the Axes of Generalization - (Competition Contribution). In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part II, Dana Fisman and Grigore Rosu (Eds.) (Lecture Notes in Computer Science, Vol. 13244). Springer, 479–483. https://doi.org/10.1007/978-3-030-99527-0_35 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Eric Koskinen and Kshitij Bansal. 2021. Decomposing Data Structure Commutativity Proofs with $ mn$ -Differencing. In Verification, Model Checking, and Abstract Interpretation - 22nd International Conference, VMCAI 2021, Copenhagen, Denmark, January 17-19, 2021, Proceedings, Fritz Henglein, Sharon Shoham, and Yakir Vizel (Eds.) (Lecture Notes in Computer Science, Vol. 12597). Springer, 81–103. https://doi.org/10.1007/978-3-030-67067-2_5 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Bernhard Kragl and Shaz Qadeer. 2018. Layered Concurrent Programs. In Computer Aided Verification - 30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I, Hana Chockler and Georg Weissenbacher (Eds.) (Lecture Notes in Computer Science, Vol. 10981). Springer, 79–102. https://doi.org/10.1007/978-3-319-96145-3_5 Google ScholarGoogle ScholarCross RefCross Ref
  17. Richard J. Lipton. 1975. Reduction: A Method of Proving Properties of Parallel Programs. Commun. ACM, 18, 12 (1975), 717–721. https://doi.org/10.1145/361227.361234 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Edward Ochmanski. 1995. Recognizable Trace Languages. In The Book of Traces, Volker Diekert and Grzegorz Rozenberg (Eds.). World Scientific, 167–204. https://doi.org/10.1142/9789814261456_0006 Google ScholarGoogle ScholarCross RefCross Ref
  19. Björn Wachter, Daniel Kroening, and Joël Ouaknine. 2013. Verifying multi-threaded software with impact. In Formal Methods in Computer-Aided Design, FMCAD 2013, Portland, OR, USA, October 20-23, 2013. IEEE, 210–217. http://ieeexplore.ieee.org/document/6679412/ Google ScholarGoogle Scholar

Index Terms

  1. Stratified Commutativity in Verification Algorithms for Concurrent Programs

        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 Proceedings of the ACM on Programming Languages
          Proceedings of the ACM on Programming Languages  Volume 7, Issue POPL
          January 2023
          2196 pages
          EISSN:2475-1421
          DOI:10.1145/3554308
          • Editor:
          Issue’s Table of Contents

          Copyright © 2023 Owner/Author

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 11 January 2023
          Published in pacmpl Volume 7, Issue POPL

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!