A concurrent program logic with a future and history
Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly confined to pencil-and-paper or mechanized proofs. We devise a...
Saved in:
| Published in: | Proceedings of ACM on programming languages Vol. 6; no. OOPSLA2; pp. 1378 - 1407 |
|---|---|
| Main Authors: | , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
New York, NY, USA
ACM
31.10.2022
|
| Subjects: | |
| ISSN: | 2475-1421, 2475-1421 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly confined to pencil-and-paper or mechanized proofs. We devise a new separation logic geared towards the lacking automation. While local reasoning is known to be crucial for automation, we are the first to show how to retain this locality for (i) reasoning about inductive properties without the need for ghost code, and (ii) reasoning about computation histories in hindsight. We implemented our new logic in a tool and used it to automatically verify challenging concurrent search structures that require inductive properties and hindsight reasoning, such as the Harris set. |
|---|---|
| AbstractList | Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly confined to pencil-and-paper or mechanized proofs. We devise a new separation logic geared towards the lacking automation. While local reasoning is known to be crucial for automation, we are the first to show how to retain this locality for (i) reasoning about inductive properties without the need for ghost code, and (ii) reasoning about computation histories in hindsight. We implemented our new logic in a tool and used it to automatically verify challenging concurrent search structures that require inductive properties and hindsight reasoning, such as the Harris set. |
| ArticleNumber | 174 |
| Author | Meyer, Roland Wolff, Sebastian Wies, Thomas |
| Author_xml | – sequence: 1 givenname: Roland orcidid: 0000-0001-8495-671X surname: Meyer fullname: Meyer, Roland email: roland.meyer@tu-bs.de organization: TU Braunschweig, Germany – sequence: 2 givenname: Thomas orcidid: 0000-0003-4051-5968 surname: Wies fullname: Wies, Thomas email: wies@cs.nyu.edu organization: New York University, USA – sequence: 3 givenname: Sebastian orcidid: 0000-0002-3974-7713 surname: Wolff fullname: Wolff, Sebastian email: sebastian.wolff@cs.nyu.edu organization: New York University, USA |
| BookMark | eNptz0FLAzEQBeAgFay1ePeUm6fVZDPZdI-laBUKXvS8TLNJG9lNSpJF-u-ttIqIpxnmfQy8SzLywRtCrjm74xzkvZCVEEKdkXEJShYcSj76tV-QaUrvjDFeC5iJekxgTnXweojR-Ex3MWwi9rQLG6fph8tbitQOeYiGom_p1qUc4v6KnFvskpme5oS8PT68Lp6K1cvyeTFfFVgqlQttcK3LtpXCshbKFo0UlVZyrYRGy_kMRG0UcAaHE6BVEoypDKvA1lLWVkxIcfyrY0gpGttolzG74HNE1zWcNV-tm1Prg7_943fR9Rj3_8ibo0Td_6Dv8BP8OV91 |
| CitedBy_id | crossref_primary_10_1145_3622827 crossref_primary_10_1145_3689775 crossref_primary_10_1145_3656384 crossref_primary_10_1145_3656450 crossref_primary_10_1145_3591296 crossref_primary_10_1145_3704847 |
| Cites_doi | 10.1007/978-3-030-44914-8_12 10.1007/978-3-642-14295-6_40 10.1145/512950.512973 10.1145/3371136 10.1109/LICS.2007.30 10.1145/3485490 10.1145/2535838.2535854 10.1145/564870.564881 10.1007/978-3-319-63387-9_27 10.1007/978-3-540-78800-3_24 10.1007/978-3-319-63390-9_28 10.1007/978-3-642-36742-7_23 10.1145/78969.78972 10.1145/3360547 10.1016/0304-3975(91)90224-P 10.1007/978-3-540-45069-6_27 10.1145/3385412.3386029 10.1007/BF00268134 10.1007/978-3-662-46669-8_14 10.1145/1375581.1375598 10.1007/978-3-540-74407-8_18 10.1007/978-3-662-54434-1_16 10.1007/978-3-642-40047-6_25 10.1007/978-1-4612-1830-2 10.1017/S0956796818000151 10.4230/LIPIcs.ECOOP.2017.8 10.1145/2429069.2429104 10.1109/ICDE.2013.6544834 10.1142/S0129626416500158 10.1007/978-3-540-70545-1_36 10.4230/LIPIcs.DISC.2018.23 10.1145/3158125 10.1007/978-3-030-53288-8_14 10.1007/978-3-662-47666-6_8 10.1007/11795490_3 10.1007/978-3-319-21668-3_1 10.1145/3428196 10.1007/3-540-44802-0_1 10.1145/3371113 10.5281/zenodo.7080459 10.1145/3290371 10.1007/978-3-642-15769-1_10 10.1007/978-3-030-90870-6_22 10.1007/3-540-45414-4_21 10.1145/1275497.1275501 10.1145/3519939.3523432 10.1145/2676726.2676980 10.1145/42201.42204 10.1007/978-3-642-15375-4_27 10.1007/978-3-319-89884-1_16 10.1007/978-3-642-37036-6_15 10.1007/978-3-642-12002-2_25 10.1007/978-3-662-48653-5_25 10.1007/978-3-540-93900-9_27 10.1145/1835698.1835722 10.1007/978-3-662-44202-9_9 10.1145/3192366.3192381 10.1145/1190216.1190261 10.1145/2491956.2462189 10.1007/978-3-662-48653-5_24 10.1145/1480881.1480922 10.1007/978-3-642-11319-2_25 10.1007/978-3-642-37036-6_17 10.1007/978-3-642-14107-2_24 10.1145/567752.567778 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3563337 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 1407 |
| ExternalDocumentID | 10_1145_3563337 3563337 |
| GrantInformation_xml | – fundername: NSF (National Science Foundation) grantid: 1815633 funderid: http://dx.doi.org/10.13039/100000001 |
| GroupedDBID | AAKMM AAYFX ACM ADPZR AIKLT ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX AEFXT AEJOY AKRVB CITATION |
| ID | FETCH-LOGICAL-a277t-ceabc2dd53f0d42dae536c75b73caf118439e741045b74af754ee6e064f9559f3 |
| ISICitedReferencesCount | 9 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001083750200051&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2475-1421 |
| IngestDate | Sat Nov 29 07:46:24 EST 2025 Tue Nov 18 22:24:44 EST 2025 Mon Feb 24 21:14:28 EST 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | OOPSLA2 |
| Keywords | Linearizability Harris Set Non-blocking Data Structures |
| Language | English |
| License | This work is licensed under a Creative Commons Attribution 4.0 International License. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a277t-ceabc2dd53f0d42dae536c75b73caf118439e741045b74af754ee6e064f9559f3 |
| ORCID | 0000-0002-3974-7713 0000-0001-8495-671X 0000-0003-4051-5968 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3563337 |
| PageCount | 30 |
| ParticipantIDs | crossref_citationtrail_10_1145_3563337 crossref_primary_10_1145_3563337 acm_primary_3563337 |
| PublicationCentury | 2000 |
| PublicationDate | 2022-10-31 |
| PublicationDateYYYYMMDD | 2022-10-31 |
| PublicationDate_xml | – month: 10 year: 2022 text: 2022-10-31 day: 31 |
| PublicationDecade | 2020 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationTitle | Proceedings of ACM on programming languages |
| PublicationTitleAbbrev | ACM PACMPL |
| PublicationYear | 2022 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | Siddharth Krishna, Alexander J. Summers, and Thomas Wies. 2020. Local Reasoning for Global Graph Properties. In ESOP (LNCS, Vol. 12075). Springer, 308–335. https://doi.org/10.1007/978-3-030-44914-8_12 10.1007/978-3-030-44914-8_12 Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison, Aleksandar Nanevski, Noam Rinetzky, and Sharon Shoham. 2020. Proving highly-concurrent traversals correct. Proc. ACM Program. Lang., 4, OOPSLA (2020), 128:1–128:29. https://doi.org/10.1145/3428196 10.1145/3428196 Keir Fraser. 2004. Practical lock-freedom. Ph. D. Dissertation. University of Cambridge, UK. https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.599193 Cristiano Calcagno, Peter W. O’Hearn, and Hongseok Yang. 2007. Local Action and Abstract Separation Logic. In LICS. IEEE Computer Society, 366–378. https://doi.org/10.1109/LICS.2007.30 10.1109/LICS.2007.30 Tyler Crain, Vincent Gramoli, and Michel Raynal. 2013. A Contention-Friendly Binary Search Tree. In Euro-Par (LNCS, Vol. 8097). Springer, 229–240. https://doi.org/10.1007/978-3-642-40047-6_25 10.1007/978-3-642-40047-6_25 Peter W. O’Hearn, John C. Reynolds, and Hongseok Yang. 2001. Local Reasoning about Programs that Alter Data Structures. In CSL (LNCS, Vol. 2142). Springer, 1–19. https://doi.org/10.1007/3-540-44802-0_1 10.1007/3-540-44802-0_1 Tayfun Elmas, Shaz Qadeer, Ali Sezgin, Omer Subasi, and Serdar Tasiran. 2010. Simplifying Linearizability Proofs with Reduction and Abstraction. In TACAS (LNCS, Vol. 6015). Springer, 296–311. https://doi.org/10.1007/978-3-642-12002-2_25 10.1007/978-3-642-12002-2_25 Susan S. Owicki and David Gries. 1976. An Axiomatic Proof Technique for Parallel Programs I. Acta Informatica, 6 (1976), 319–340. https://doi.org/10.1007/BF00268134 10.1007/BF00268134 Nisarg Patel, Siddharth Krishna, Dennis E. Shasha, and Thomas Wies. 2021. Verifying concurrent multicopy search structures. Proc. ACM Program. Lang., 5, OOPSLA (2021), 1–32. https://doi.org/10.1145/3485490 10.1145/3485490 Viktor Vafeiadis and Matthew J. Parkinson. 2007. A Marriage of Rely/Guarantee and Separation Logic. In CONCUR (LNCS, Vol. 4703). Springer, 256–271. https://doi.org/10.1007/978-3-540-74407-8_18 10.1007/978-3-540-74407-8_18 Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2008. Z3: An Efficient SMT Solver. In TACAS (LNCS, Vol. 4963). Springer, 337–340. https://doi.org/10.1007/978-3-540-78800-3_24 10.1007/978-3-540-78800-3_24 Thomas Dinsdale-Young, Mike Dodds, Philippa Gardner, Matthew J. Parkinson, and Viktor Vafeiadis. 2010. Concurrent Abstract Predicates. In ECOOP (LNCS, Vol. 6183). Springer, 504–528. https://doi.org/10.1007/978-3-642-14107-2_24 10.1007/978-3-642-14107-2_24 He Zhu, Gustavo Petri, and Suresh Jagannathan. 2015. Poling: SMT Aided Linearizability Proofs. In CAV (2) (LNCS, Vol. 9207). Springer, 3–19. https://doi.org/10.1007/978-3-319-21668-3_1 10.1007/978-3-319-21668-3_1 Thomas Dinsdale-Young, Lars Birkedal, Philippa Gardner, Matthew J. Parkinson, and Hongseok Yang. 2013. Views: compositional reasoning for concurrent programs. In POPL. ACM, 287–300. https://doi.org/10.1145/2429069.2429104 10.1145/2429069.2429104 Siddharth Krishna, Dennis E. Shasha, and Thomas Wies. 2018. Go with the flow: compositional abstractions for concurrent data structures. Proc. ACM Program. Lang., 2, POPL (2018), 37:1–37:31. https://doi.org/10.1145/3158125 10.1145/3158125 Fred B. Schneider. 1997. On Concurrent Programming. Springer. isbn:978-1-4612-7303-5 https://doi.org/10.1007/978-1-4612-1830-2 10.1007/978-1-4612-1830-2 Thomas Dinsdale-Young, Pedro da Rocha Pinto, Kristoffer Just Andersen, and Lars Birkedal. 2017. Caper - Automatic Verification for Fine-Grained Concurrency. In ESOP (LNCS, Vol. 10201). Springer, 420–447. https://doi.org/10.1007/978-3-662-54434-1_16 10.1007/978-3-662-54434-1_16 Ralf Jung, Robbert Krebbers, Jacques-Henri Jourdan, Ales Bizjak, Lars Birkedal, and Derek Dreyer. 2018. Iris from the ground up: A modular foundation for higher-order concurrent separation logic. J. Funct. Program., 28 (2018), e20. https://doi.org/10.1017/S0956796818000151 10.1017/S0956796818000151 Peter W. O’Hearn, Noam Rinetzky, Martin T. Vechev, Eran Yahav, and Greta Yorsh. 2010. Verifying linearizability with hindsight. In PODC. ACM, 85–94. https://doi.org/10.1145/1835698.1835722 10.1145/1835698.1835722 Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Jad Hamza. 2013. Verifying Concurrent Programs against Sequential Specifications. In ESOP (LNCS, Vol. 7792). Springer, 290–309. https://doi.org/10.1007/978-3-642-37036-6_17 10.1007/978-3-642-37036-6_17 Roland Meyer and Sebastian Wolff. 2019. Decoupling lock-free data structures from memory reclamation for static analysis. Proc. ACM Program. Lang., 3, POPL (2019), 58:1–58:31. https://doi.org/10.1145/3290371 10.1145/3290371 Nir Hemed, Noam Rinetzky, and Viktor Vafeiadis. 2015. Modular Verification of Concurrency-Aware Linearizability. In DISC (LNCS, Vol. 9363). Springer, 371–387. https://doi.org/10.1007/978-3-662-48653-5_25 10.1007/978-3-662-48653-5_25 Justin J. Levandoski, David B. Lomet, and Sudipta Sengupta. 2013. The Bw-Tree: A B-tree for new hardware platforms. In ICDE. IEEE Computer Society, 302–313. https://doi.org/10.1109/ICDE.2013.6544834 10.1109/ICDE.2013.6544834 Roland Meyer and Sebastian Wolff. 2020. Pointer life cycle types for lock-free data structures with memory reclamation. Proc. ACM Program. Lang., 4, POPL (2020), 68:1–68:36. https://doi.org/10.1145/3371136 10.1145/3371136 Viktor Vafeiadis. 2010. RGSep Action Inference. In VMCAI (LNCS, Vol. 5944). Springer, 345–361. https://doi.org/10.1007/978-3-642-11319-2_25 10.1007/978-3-642-11319-2_25 Hongseok Yang, Oukseh Lee, Josh Berdine, Cristiano Calcagno, Byron Cook, Dino Distefano, and Peter W. O’Hearn. 2008. Scalable Shape Analysis for Systems Code. In CAV (LNCS, Vol. 5123). Springer, 385–398. https://doi.org/10.1007/978-3-540-70545-1_36 10.1007/978-3-540-70545-1_36 Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Suha Orhun Mutluergil. 2017. Proving Linearizability Using Forward Simulations. In CAV (2) (LNCS, Vol. 10427). Springer, 542–563. https://doi.org/10.1007/978-3-319-63390-9_28 10.1007/978-3-319-63390-9_28 Patrick Cousot and Radhia Cousot. 1977. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In POPL. ACM, 238–252. https://doi.org/10.1145/512950.512973 10.1145/512950.512973 Pedro da Rocha Pinto, Thomas Dinsdale-Young, and Philippa Gardner. 2014. TaDA: A Logic for Time and Data Abstraction. In ECOOP (LNCS, Vol. 8586). Springer, 207–231. https://doi.org/10.1007/978-3-662-44202-9_9 10.1007/978-3-662-44202-9_9 Christian J. Bell, Andrew W. Appel, and David Walker. 2010. Concurrent Separation Logic for Pipelined Parallelization. In SAS (LNCS, Vol. 6337). Springer, 151–166. https://doi.org/10.1007/978-3-642-15769-1_10 10.1007/978-3-642-15769-1_10 Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Jad Hamza. 2015. On Reducing Linearizability to State Reachability. In ICALP (2) (LNCS, Vol. 9135). Springer, 95–107. https://doi.org/10.1007/978-3-662-47666-6_8 10.1007/978-3-662-47666-6_8 Xinyu Feng. 2009. Local rely-guarantee reasoning. In POPL. ACM, 315–327. https://doi.org/10.1145/1480881.1480922 10.1145/1480881.1480922 Maurice Herlihy and Nir Shavit. 2008. The art of multiprocessor programming. Morgan Kaufmann. isbn:978-0-12-370591-4 Ike Mulder, Robbert Krebbers, and Herman Geuvers. 2022. Diaframe: automated verification of fine-grained concurrent programs in Iris. In PLDI. ACM, 809–824. https://doi.org/10.1145/3519939.3523432 10.1145/3519939.3523432 Parosh Aziz Abdulla, Bengt Jonsson, and Cong Quy Trinh. 2018. Fragment Abstraction for Concurrent Shape Analysis. In ESOP (LNCS, Vol. 10801). Springer, 442–471. https://doi.org/10.1007/978-3-319-89884-1_16 10.1007/978-3-319-89884-1_16 Tyler Crain, Vincent Gramoli, and Michel Raynal. 2016. A Fast Contention-Friendly Binary Search Tree. Parallel Process. Lett., 26, 3 (2016), 1650015:1–1650015:17. https://doi.org/10.1142/S0129626416500158 10.1142/S0129626416500158 Ilya Sergey, Aleksandar Nanevski, and Anindya Banerjee. 2015. Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity. In ESOP (LNCS, Vol. 9032). Springer, 333–358. https://doi.org/10.1007/978-3-662-46669-8_14 10.1007/978-3-662-46669-8_14 Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, and Derek Dreyer. 2015. Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning. In POPL. ACM, 637–650. https://doi.org/10.1145/2676726.2676980 10.1145/2676726.2676980 Germán Andrés Delbianco, Ilya Sergey, Aleksandar Nanevski, and Anindya Banerjee. 2017. Concurrent Data Structures Linked in Time. In ECOOP (LIPIcs, Vol. 74). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 8:1–8:30. https://doi.org/10.4230/LIPIcs.ECOOP.2017.8 10.4230/LIPIcs.ECOOP.2017.8 Bernhard Kragl, Shaz Qadeer, and Thomas A. Henzinger. 2020. Refinement for Structured Concurrent Programs. In CAV (1) (LNCS, Vol. 12224). Springer, 275–298. https://doi.org/10.1007/978-3-030-53288-8_14 10.1007/978-3-030-53288-8_14 Hongjin Liang and Xinyu Feng. 2013. Modular verification of linearizability with non-fixed linearization points. In PLDI. ACM, 459–470. https://doi.org/10.1145/2491956.2462189 10.1145/2491956.2462189 Shachar Itzhaky, Anindya Banerjee, Neil Immerman, Ori Lahav, Aleksandar Nanevski, and Mooly Sagiv. 2014. Modular reasoning about heap paths via effectively propositional formulas. In POPL. ACM, 385–396. https://doi.org/10.1145/2535838.2535854 10.1145/2535838.2535854 Patrick Cousot and Radhia Cousot. 1979. Systematic Design of Program Analysis Frameworks. In POPL. ACM Press, 269–282. https://doi.org/10.1145/567752.567778 10.1145/567752.567778 Zohar Manna and Amir Pnueli. 1995. Temporal verification of reactive systems - safety. Springer. isbn:978-0-387-94459-3 Ming Fu, Yong Li, Xinyu Feng, Zhong Shao, and Yu Zhang. 2010. Reasoning about Optimistic Concurrency Using a Program Logic for Histo e_1_2_1_60_1 e_1_2_1_20_1 e_1_2_1_41_1 e_1_2_1_66_1 e_1_2_1_68_1 e_1_2_1_22_1 e_1_2_1_43_1 e_1_2_1_64_1 e_1_2_1_28_1 e_1_2_1_49_1 e_1_2_1_26_1 Dijkstra Edsger W. (e_1_2_1_16_1) 1958 e_1_2_1_71_1 Manna Zohar (e_1_2_1_45_1) e_1_2_1_31_1 e_1_2_1_54_1 e_1_2_1_8_1 e_1_2_1_56_1 e_1_2_1_6_1 e_1_2_1_12_1 e_1_2_1_35_1 e_1_2_1_50_1 e_1_2_1_4_1 e_1_2_1_10_1 e_1_2_1_33_1 e_1_2_1_52_1 e_1_2_1_2_1 e_1_2_1_39_1 e_1_2_1_14_1 e_1_2_1_37_1 e_1_2_1_58_1 e_1_2_1_18_1 e_1_2_1_42_1 e_1_2_1_65_1 e_1_2_1_40_1 e_1_2_1_67_1 e_1_2_1_23_1 e_1_2_1_46_1 e_1_2_1_61_1 e_1_2_1_21_1 e_1_2_1_44_1 e_1_2_1_63_1 e_1_2_1_27_1 e_1_2_1_25_1 e_1_2_1_48_1 e_1_2_1_69_1 e_1_2_1_29_1 Vafeiadis Viktor (e_1_2_1_62_1) Fraser Keir (e_1_2_1_24_1) e_1_2_1_70_1 e_1_2_1_7_1 e_1_2_1_30_1 e_1_2_1_55_1 e_1_2_1_5_1 e_1_2_1_57_1 e_1_2_1_3_1 e_1_2_1_13_1 e_1_2_1_34_1 e_1_2_1_51_1 e_1_2_1_1_1 e_1_2_1_11_1 e_1_2_1_32_1 e_1_2_1_53_1 e_1_2_1_17_1 e_1_2_1_38_1 Meyer Roland (e_1_2_1_47_1) 2022 e_1_2_1_15_1 e_1_2_1_36_1 e_1_2_1_59_1 e_1_2_1_9_1 e_1_2_1_19_1 |
| References_xml | – reference: Siddharth Krishna, Dennis E. Shasha, and Thomas Wies. 2018. Go with the flow: compositional abstractions for concurrent data structures. Proc. ACM Program. Lang., 2, POPL (2018), 37:1–37:31. https://doi.org/10.1145/3158125 10.1145/3158125 – reference: Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, and Shaz Qadeer. 2003. Thread-Modular Abstraction Refinement. In CAV (LNCS, Vol. 2725). Springer, 262–274. https://doi.org/10.1007/978-3-540-45069-6_27 10.1007/978-3-540-45069-6_27 – reference: Bernhard Kragl, Shaz Qadeer, and Thomas A. Henzinger. 2020. Refinement for Structured Concurrent Programs. In CAV (1) (LNCS, Vol. 12224). Springer, 275–298. https://doi.org/10.1007/978-3-030-53288-8_14 10.1007/978-3-030-53288-8_14 – reference: Thomas Dinsdale-Young, Pedro da Rocha Pinto, Kristoffer Just Andersen, and Lars Birkedal. 2017. Caper - Automatic Verification for Fine-Grained Concurrency. In ESOP (LNCS, Vol. 10201). Springer, 420–447. https://doi.org/10.1007/978-3-662-54434-1_16 10.1007/978-3-662-54434-1_16 – reference: Peter W. O’Hearn, Noam Rinetzky, Martin T. Vechev, Eran Yahav, and Greta Yorsh. 2010. Verifying linearizability with hindsight. In PODC. ACM, 85–94. https://doi.org/10.1145/1835698.1835722 10.1145/1835698.1835722 – reference: Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, and Derek Dreyer. 2015. Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning. In POPL. ACM, 637–650. https://doi.org/10.1145/2676726.2676980 10.1145/2676726.2676980 – reference: Viktor Vafeiadis. 2008. Modular fine-grained concurrency verification. Ph. D. Dissertation. University of Cambridge, UK. https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.612221 – reference: Tyler Crain, Vincent Gramoli, and Michel Raynal. 2013. A Contention-Friendly Binary Search Tree. In Euro-Par (LNCS, Vol. 8097). Springer, 229–240. https://doi.org/10.1007/978-3-642-40047-6_25 10.1007/978-3-642-40047-6_25 – reference: Edsger W. Dijkstra. 1976. A Discipline of Programming. Prentice-Hall. isbn:013215871X https://www.worldcat.org/oclc/01958445 – reference: Siddharth Krishna, Alexander J. Summers, and Thomas Wies. 2020. Local Reasoning for Global Graph Properties. In ESOP (LNCS, Vol. 12075). Springer, 308–335. https://doi.org/10.1007/978-3-030-44914-8_12 10.1007/978-3-030-44914-8_12 – reference: Peter W. O’Hearn, John C. Reynolds, and Hongseok Yang. 2001. Local Reasoning about Programs that Alter Data Structures. In CSL (LNCS, Vol. 2142). Springer, 1–19. https://doi.org/10.1007/3-540-44802-0_1 10.1007/3-540-44802-0_1 – reference: Thomas Dinsdale-Young, Lars Birkedal, Philippa Gardner, Matthew J. Parkinson, and Hongseok Yang. 2013. Views: compositional reasoning for concurrent programs. In POPL. ACM, 287–300. https://doi.org/10.1145/2429069.2429104 10.1145/2429069.2429104 – reference: Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Jad Hamza. 2013. Verifying Concurrent Programs against Sequential Specifications. In ESOP (LNCS, Vol. 7792). Springer, 290–309. https://doi.org/10.1007/978-3-642-37036-6_17 10.1007/978-3-642-37036-6_17 – reference: Hongjin Liang and Xinyu Feng. 2013. Modular verification of linearizability with non-fixed linearization points. In PLDI. ACM, 459–470. https://doi.org/10.1145/2491956.2462189 10.1145/2491956.2462189 – reference: Roland Meyer, Thomas Wies, and Sebastian Wolff. 2022. Artifact for "A Concurrent Program Logic with a Future and History". https://doi.org/10.5281/zenodo.7080459 or 10.5281/zenodo.7080459 – reference: Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2008. Z3: An Efficient SMT Solver. In TACAS (LNCS, Vol. 4963). Springer, 337–340. https://doi.org/10.1007/978-3-540-78800-3_24 10.1007/978-3-540-78800-3_24 – reference: Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III, and Nir Shavit. 2005. A Lazy Concurrent List-Based Set Algorithm. In OPODIS (LNCS, Vol. 3974). Springer, 3–16. https://doi.org/10.1007/11795490_3 10.1007/11795490_3 – reference: Viktor Vafeiadis and Matthew J. Parkinson. 2007. A Marriage of Rely/Guarantee and Separation Logic. In CONCUR (LNCS, Vol. 4703). Springer, 256–271. https://doi.org/10.1007/978-3-540-74407-8_18 10.1007/978-3-540-74407-8_18 – reference: Hongseok Yang, Oukseh Lee, Josh Berdine, Cristiano Calcagno, Byron Cook, Dino Distefano, and Peter W. O’Hearn. 2008. Scalable Shape Analysis for Systems Code. In CAV (LNCS, Vol. 5123). Springer, 385–398. https://doi.org/10.1007/978-3-540-70545-1_36 10.1007/978-3-540-70545-1_36 – reference: Tayfun Elmas, Shaz Qadeer, Ali Sezgin, Omer Subasi, and Serdar Tasiran. 2010. Simplifying Linearizability Proofs with Reduction and Abstraction. In TACAS (LNCS, Vol. 6015). Springer, 296–311. https://doi.org/10.1007/978-3-642-12002-2_25 10.1007/978-3-642-12002-2_25 – reference: Martín Abadi and Leslie Lamport. 1991. The Existence of Refinement Mappings. Theor. Comput. Sci., 82, 2 (1991), 253–284. https://doi.org/10.1016/0304-3975(91)90224-P 10.1016/0304-3975(91)90224-P – reference: He Zhu, Gustavo Petri, and Suresh Jagannathan. 2015. Poling: SMT Aided Linearizability Proofs. In CAV (2) (LNCS, Vol. 9207). Springer, 3–19. https://doi.org/10.1007/978-3-319-21668-3_1 10.1007/978-3-319-21668-3_1 – reference: Maurice Herlihy and Jeannette M. Wing. 1990. Linearizability: A Correctness Condition for Concurrent Objects. ACM Trans. Program. Lang. Syst., 12, 3 (1990), 463–492. https://doi.org/10.1145/78969.78972 10.1145/78969.78972 – reference: Patrick Cousot and Radhia Cousot. 1977. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In POPL. ACM, 238–252. https://doi.org/10.1145/512950.512973 10.1145/512950.512973 – reference: Yotam M. Y. Feldman, Constantin Enea, Adam Morrison, Noam Rinetzky, and Sharon Shoham. 2018. Order out of Chaos: Proving Linearizability Using Local Views. In DISC (LIPIcs, Vol. 121). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 23:1–23:21. https://doi.org/10.4230/LIPIcs.DISC.2018.23 10.4230/LIPIcs.DISC.2018.23 – reference: Ralf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport, Amin Timany, Derek Dreyer, and Bart Jacobs. 2020. The future is ours: prophecy variables in separation logic. Proc. ACM Program. Lang., 4, POPL (2020), 45:1–45:32. https://doi.org/10.1145/3371113 10.1145/3371113 – reference: Ronghui Gu, Zhong Shao, Jieung Kim, Xiongnan (Newman) Wu, Jérémie Koenig, Vilhelm Sjöberg, Hao Chen, David Costanzo, and Tahina Ramananandro. 2018. Certified concurrent abstraction layers. In PLDI. ACM, 646–661. https://doi.org/10.1145/3192366.3192381 10.1145/3192366.3192381 – reference: Roland Meyer and Sebastian Wolff. 2020. Pointer life cycle types for lock-free data structures with memory reclamation. Proc. ACM Program. Lang., 4, POPL (2020), 68:1–68:36. https://doi.org/10.1145/3371136 10.1145/3371136 – reference: Ike Mulder, Robbert Krebbers, and Herman Geuvers. 2022. Diaframe: automated verification of fine-grained concurrent programs in Iris. In PLDI. ACM, 809–824. https://doi.org/10.1145/3519939.3523432 10.1145/3519939.3523432 – reference: Cristiano Calcagno, Peter W. O’Hearn, and Hongseok Yang. 2007. Local Action and Abstract Separation Logic. In LICS. IEEE Computer Society, 366–378. https://doi.org/10.1109/LICS.2007.30 10.1109/LICS.2007.30 – reference: Kfir Lev-Ari, Gregory V. Chockler, and Idit Keidar. 2015. A Constructive Approach for Proving Data Structures’ Linearizability. In DISC (LNCS, Vol. 9363). Springer, 356–370. https://doi.org/10.1007/978-3-662-48653-5_24 10.1007/978-3-662-48653-5_24 – reference: Fred B. Schneider. 1997. On Concurrent Programming. Springer. isbn:978-1-4612-7303-5 https://doi.org/10.1007/978-1-4612-1830-2 10.1007/978-1-4612-1830-2 – reference: Ilya Sergey, Aleksandar Nanevski, and Anindya Banerjee. 2015. Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity. In ESOP (LNCS, Vol. 9032). Springer, 333–358. https://doi.org/10.1007/978-3-662-46669-8_14 10.1007/978-3-662-46669-8_14 – reference: Xinyu Feng. 2009. Local rely-guarantee reasoning. In POPL. ACM, 315–327. https://doi.org/10.1145/1480881.1480922 10.1145/1480881.1480922 – reference: Roland Meyer, Thomas Wies, and Sebastian Wolff. 2022. A Concurrent Program Logic with a Future and History. CoRR, abs/2207.02355 (2022), https://doi.org/10.48550/arXiv.2207.02355 – reference: Viktor Vafeiadis. 2010. RGSep Action Inference. In VMCAI (LNCS, Vol. 5944). Springer, 345–361. https://doi.org/10.1007/978-3-642-11319-2_25 10.1007/978-3-642-11319-2_25 – reference: Germán Andrés Delbianco, Ilya Sergey, Aleksandar Nanevski, and Anindya Banerjee. 2017. Concurrent Data Structures Linked in Time. In ECOOP (LIPIcs, Vol. 74). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 8:1–8:30. https://doi.org/10.4230/LIPIcs.ECOOP.2017.8 10.4230/LIPIcs.ECOOP.2017.8 – reference: Parosh Aziz Abdulla, Frédéric Haziza, Lukás Holík, Bengt Jonsson, and Ahmed Rezine. 2013. An Integrated Specification and Verification Technique for Highly Concurrent Data Structures. In TACAS (LNCS, Vol. 7795). Springer, 324–338. https://doi.org/10.1007/978-3-642-36742-7_23 10.1007/978-3-642-36742-7_23 – reference: Pedro da Rocha Pinto, Thomas Dinsdale-Young, and Philippa Gardner. 2014. TaDA: A Logic for Time and Data Abstraction. In ECOOP (LNCS, Vol. 8586). Springer, 207–231. https://doi.org/10.1007/978-3-662-44202-9_9 10.1007/978-3-662-44202-9_9 – reference: Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Suha Orhun Mutluergil. 2017. Proving Linearizability Using Forward Simulations. In CAV (2) (LNCS, Vol. 10427). Springer, 542–563. https://doi.org/10.1007/978-3-319-63390-9_28 10.1007/978-3-319-63390-9_28 – reference: Alexey Gotsman, Noam Rinetzky, and Hongseok Yang. 2013. Verifying Concurrent Memory Reclamation Algorithms with Grace. In ESOP (LNCS, Vol. 7792). Springer, 249–269. https://doi.org/10.1007/978-3-642-37036-6_15 10.1007/978-3-642-37036-6_15 – reference: Shachar Itzhaky, Anindya Banerjee, Neil Immerman, Ori Lahav, Aleksandar Nanevski, and Mooly Sagiv. 2014. Modular reasoning about heap paths via effectively propositional formulas. In POPL. ACM, 385–396. https://doi.org/10.1145/2535838.2535854 10.1145/2535838.2535854 – reference: Siddharth Krishna, Nisarg Patel, Dennis E. Shasha, and Thomas Wies. 2020. Verifying concurrent search structure templates. In PLDI. ACM, 181–196. https://doi.org/10.1145/3385412.3386029 10.1145/3385412.3386029 – reference: Justin J. Levandoski, David B. Lomet, and Sudipta Sengupta. 2013. The Bw-Tree: A B-tree for new hardware platforms. In ICDE. IEEE Computer Society, 302–313. https://doi.org/10.1109/ICDE.2013.6544834 10.1109/ICDE.2013.6544834 – reference: Viktor Vafeiadis. 2009. Shape-Value Abstraction for Verifying Linearizability. In VMCAI (LNCS, Vol. 5403). Springer, 335–348. https://doi.org/10.1007/978-3-540-93900-9_27 10.1007/978-3-540-93900-9_27 – reference: Tyler Crain, Vincent Gramoli, and Michel Raynal. 2016. A Fast Contention-Friendly Binary Search Tree. Parallel Process. Lett., 26, 3 (2016), 1650015:1–1650015:17. https://doi.org/10.1142/S0129626416500158 10.1142/S0129626416500158 – reference: Viktor Vafeiadis. 2010. Automatically Proving Linearizability. In CAV (LNCS, Vol. 6174). Springer, 450–464. https://doi.org/10.1007/978-3-642-14295-6_40 10.1007/978-3-642-14295-6_40 – reference: Timothy L. Harris. 2001. A Pragmatic Implementation of Non-blocking Linked-Lists. In DISC (LNCS, Vol. 2180). Springer, 300–314. https://doi.org/10.1007/3-540-45414-4_21 10.1007/3-540-45414-4_21 – reference: Matt Windsor, Mike Dodds, Ben Simner, and Matthew J. Parkinson. 2017. Starling: Lightweight Concurrency Verification with Views. In CAV (1) (LNCS, Vol. 10426). Springer, 544–569. https://doi.org/10.1007/978-3-319-63387-9_27 10.1007/978-3-319-63387-9_27 – reference: Maged M. Michael. 2002. High performance dynamic lock-free hash tables and list-based sets. In SPAA. ACM, 73–82. https://doi.org/10.1145/564870.564881 10.1145/564870.564881 – reference: Patrick Cousot and Radhia Cousot. 1979. Systematic Design of Program Analysis Frameworks. In POPL. ACM Press, 269–282. https://doi.org/10.1145/567752.567778 10.1145/567752.567778 – reference: Susan S. Owicki and David Gries. 1976. An Axiomatic Proof Technique for Parallel Programs I. Acta Informatica, 6 (1976), 319–340. https://doi.org/10.1007/BF00268134 10.1007/BF00268134 – reference: Ming Fu, Yong Li, Xinyu Feng, Zhong Shao, and Yu Zhang. 2010. Reasoning about Optimistic Concurrency Using a Program Logic for History. In CONCUR (LNCS, Vol. 6269). Springer, 388–402. https://doi.org/10.1007/978-3-642-15375-4_27 10.1007/978-3-642-15375-4_27 – reference: Matthew J. Parkinson, Richard Bornat, and Peter W. O’Hearn. 2007. Modular verification of a non-blocking stack. In POPL. ACM, 297–302. https://doi.org/10.1145/1190216.1190261 10.1145/1190216.1190261 – reference: Felix A. Wolf, Malte Schwerhoff, and Peter Müller. 2021. Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA. In FM (LNCS, Vol. 13047). Springer, 407–426. https://doi.org/10.1007/978-3-030-90870-6_22 10.1007/978-3-030-90870-6_22 – reference: Nisarg Patel, Siddharth Krishna, Dennis E. Shasha, and Thomas Wies. 2021. Verifying concurrent multicopy search structures. Proc. ACM Program. Lang., 5, OOPSLA (2021), 1–32. https://doi.org/10.1145/3485490 10.1145/3485490 – reference: Parosh Aziz Abdulla, Bengt Jonsson, and Cong Quy Trinh. 2018. Fragment Abstraction for Concurrent Shape Analysis. In ESOP (LNCS, Vol. 10801). Springer, 442–471. https://doi.org/10.1007/978-3-319-89884-1_16 10.1007/978-3-319-89884-1_16 – reference: Ralf Jung, Robbert Krebbers, Jacques-Henri Jourdan, Ales Bizjak, Lars Birkedal, and Derek Dreyer. 2018. Iris from the ground up: A modular foundation for higher-order concurrent separation logic. J. Funct. Program., 28 (2018), e20. https://doi.org/10.1017/S0956796818000151 10.1017/S0956796818000151 – reference: Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Jad Hamza. 2015. On Reducing Linearizability to State Reachability. In ICALP (2) (LNCS, Vol. 9135). Springer, 95–107. https://doi.org/10.1007/978-3-662-47666-6_8 10.1007/978-3-662-47666-6_8 – reference: Maurice Herlihy and Nir Shavit. 2008. The art of multiprocessor programming. Morgan Kaufmann. isbn:978-0-12-370591-4 – reference: Nir Hemed, Noam Rinetzky, and Viktor Vafeiadis. 2015. Modular Verification of Concurrency-Aware Linearizability. In DISC (LNCS, Vol. 9363). Springer, 371–387. https://doi.org/10.1007/978-3-662-48653-5_25 10.1007/978-3-662-48653-5_25 – reference: Thomas Dinsdale-Young, Mike Dodds, Philippa Gardner, Matthew J. Parkinson, and Viktor Vafeiadis. 2010. Concurrent Abstract Predicates. In ECOOP (LNCS, Vol. 6183). Springer, 504–528. https://doi.org/10.1007/978-3-642-14107-2_24 10.1007/978-3-642-14107-2_24 – reference: Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison, Aleksandar Nanevski, Noam Rinetzky, and Sharon Shoham. 2020. Proving highly-concurrent traversals correct. Proc. ACM Program. Lang., 4, OOPSLA (2020), 128:1–128:29. https://doi.org/10.1145/3428196 10.1145/3428196 – reference: Xavier Rival and Laurent Mauborgne. 2007. The trace partitioning abstract domain. ACM Trans. Program. Lang. Syst., 29, 5 (2007), 26. https://doi.org/10.1145/1275497.1275501 10.1145/1275497.1275501 – reference: Roland Meyer and Sebastian Wolff. 2019. Decoupling lock-free data structures from memory reclamation for static analysis. Proc. ACM Program. Lang., 3, POPL (2019), 58:1–58:31. https://doi.org/10.1145/3290371 10.1145/3290371 – reference: Zohar Manna and Amir Pnueli. 1995. Temporal verification of reactive systems - safety. Springer. isbn:978-0-387-94459-3 – reference: Martin T. Vechev and Eran Yahav. 2008. Deriving linearizable fine-grained concurrent objects. In PLDI. ACM, 125–135. https://doi.org/10.1145/1375581.1375598 10.1145/1375581.1375598 – reference: Dennis E. Shasha and Nathan Goodman. 1988. Concurrent Search Structure Algorithms. ACM Trans. Database Syst., 13, 1 (1988), 53–90. https://doi.org/10.1145/42201.42204 10.1145/42201.42204 – reference: Arshavir Ter-Gabrielyan, Alexander J. Summers, and Peter Müller. 2019. Modular verification of heap reachability properties in separation logic. Proc. ACM Program. Lang., 3, OOPSLA (2019), 121:1–121:28. https://doi.org/10.1145/3360547 10.1145/3360547 – reference: Christian J. Bell, Andrew W. Appel, and David Walker. 2010. Concurrent Separation Logic for Pipelined Parallelization. In SAS (LNCS, Vol. 6337). Springer, 151–166. https://doi.org/10.1007/978-3-642-15769-1_10 10.1007/978-3-642-15769-1_10 – reference: Keir Fraser. 2004. Practical lock-freedom. Ph. D. Dissertation. University of Cambridge, UK. https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.599193 – ident: e_1_2_1_41_1 doi: 10.1007/978-3-030-44914-8_12 – ident: e_1_2_1_64_1 doi: 10.1007/978-3-642-14295-6_40 – ident: e_1_2_1_9_1 doi: 10.1145/512950.512973 – volume-title: Practical lock-freedom. Ph. D. Dissertation ident: e_1_2_1_24_1 – ident: e_1_2_1_49_1 doi: 10.1145/3371136 – ident: e_1_2_1_8_1 doi: 10.1109/LICS.2007.30 – ident: e_1_2_1_56_1 doi: 10.1145/3485490 – ident: e_1_2_1_34_1 doi: 10.1145/2535838.2535854 – ident: e_1_2_1_50_1 doi: 10.1145/564870.564881 – ident: e_1_2_1_68_1 doi: 10.1007/978-3-319-63387-9_27 – ident: e_1_2_1_14_1 doi: 10.1007/978-3-540-78800-3_24 – ident: e_1_2_1_7_1 doi: 10.1007/978-3-319-63390-9_28 – ident: e_1_2_1_2_1 doi: 10.1007/978-3-642-36742-7_23 – ident: e_1_2_1_33_1 doi: 10.1145/78969.78972 – ident: e_1_2_1_61_1 doi: 10.1145/3360547 – ident: e_1_2_1_1_1 doi: 10.1016/0304-3975(91)90224-P – ident: e_1_2_1_31_1 doi: 10.1007/978-3-540-45069-6_27 – ident: e_1_2_1_39_1 doi: 10.1145/3385412.3386029 – ident: e_1_2_1_54_1 doi: 10.1007/BF00268134 – ident: e_1_2_1_59_1 doi: 10.1007/978-3-662-46669-8_14 – volume-title: Modular fine-grained concurrency verification. Ph. D. Dissertation ident: e_1_2_1_62_1 – ident: e_1_2_1_67_1 doi: 10.1145/1375581.1375598 – ident: e_1_2_1_66_1 doi: 10.1007/978-3-540-74407-8_18 – ident: e_1_2_1_18_1 doi: 10.1007/978-3-662-54434-1_16 – ident: e_1_2_1_11_1 doi: 10.1007/978-3-642-40047-6_25 – volume-title: Temporal verification of reactive systems - safety ident: e_1_2_1_45_1 – ident: e_1_2_1_58_1 doi: 10.1007/978-1-4612-1830-2 – ident: e_1_2_1_35_1 doi: 10.1017/S0956796818000151 – ident: e_1_2_1_15_1 doi: 10.4230/LIPIcs.ECOOP.2017.8 – ident: e_1_2_1_17_1 doi: 10.1145/2429069.2429104 – ident: e_1_2_1_43_1 doi: 10.1109/ICDE.2013.6544834 – ident: e_1_2_1_32_1 – ident: e_1_2_1_12_1 doi: 10.1142/S0129626416500158 – ident: e_1_2_1_70_1 doi: 10.1007/978-3-540-70545-1_36 – ident: e_1_2_1_21_1 doi: 10.4230/LIPIcs.DISC.2018.23 – ident: e_1_2_1_40_1 doi: 10.1145/3158125 – volume-title: A Discipline of Programming year: 1958 ident: e_1_2_1_16_1 – ident: e_1_2_1_38_1 doi: 10.1007/978-3-030-53288-8_14 – ident: e_1_2_1_6_1 doi: 10.1007/978-3-662-47666-6_8 – ident: e_1_2_1_29_1 doi: 10.1007/11795490_3 – ident: e_1_2_1_71_1 doi: 10.1007/978-3-319-21668-3_1 – ident: e_1_2_1_22_1 doi: 10.1145/3428196 – ident: e_1_2_1_52_1 doi: 10.1007/3-540-44802-0_1 – ident: e_1_2_1_36_1 doi: 10.1145/3371113 – volume-title: A Concurrent Program Logic with a Future and History. CoRR, abs/2207.02355 year: 2022 ident: e_1_2_1_47_1 – ident: e_1_2_1_46_1 doi: 10.5281/zenodo.7080459 – ident: e_1_2_1_48_1 doi: 10.1145/3290371 – ident: e_1_2_1_4_1 doi: 10.1007/978-3-642-15769-1_10 – ident: e_1_2_1_69_1 doi: 10.1007/978-3-030-90870-6_22 – ident: e_1_2_1_28_1 doi: 10.1007/3-540-45414-4_21 – ident: e_1_2_1_57_1 doi: 10.1145/1275497.1275501 – ident: e_1_2_1_51_1 doi: 10.1145/3519939.3523432 – ident: e_1_2_1_37_1 doi: 10.1145/2676726.2676980 – ident: e_1_2_1_60_1 doi: 10.1145/42201.42204 – ident: e_1_2_1_25_1 doi: 10.1007/978-3-642-15375-4_27 – ident: e_1_2_1_3_1 doi: 10.1007/978-3-319-89884-1_16 – ident: e_1_2_1_26_1 doi: 10.1007/978-3-642-37036-6_15 – ident: e_1_2_1_20_1 doi: 10.1007/978-3-642-12002-2_25 – ident: e_1_2_1_30_1 doi: 10.1007/978-3-662-48653-5_25 – ident: e_1_2_1_63_1 doi: 10.1007/978-3-540-93900-9_27 – ident: e_1_2_1_53_1 doi: 10.1145/1835698.1835722 – ident: e_1_2_1_13_1 doi: 10.1007/978-3-662-44202-9_9 – ident: e_1_2_1_27_1 doi: 10.1145/3192366.3192381 – ident: e_1_2_1_55_1 doi: 10.1145/1190216.1190261 – ident: e_1_2_1_44_1 doi: 10.1145/2491956.2462189 – ident: e_1_2_1_42_1 doi: 10.1007/978-3-662-48653-5_24 – ident: e_1_2_1_23_1 doi: 10.1145/1480881.1480922 – ident: e_1_2_1_65_1 doi: 10.1007/978-3-642-11319-2_25 – ident: e_1_2_1_5_1 doi: 10.1007/978-3-642-37036-6_17 – ident: e_1_2_1_19_1 doi: 10.1007/978-3-642-14107-2_24 – ident: e_1_2_1_10_1 doi: 10.1145/567752.567778 |
| SSID | ssj0001934839 |
| Score | 2.2941847 |
| Snippet | Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning... |
| SourceID | crossref acm |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 1378 |
| SubjectTerms | Automated reasoning Hoare logic Program verification Programming logic Separation logic Theory of computation |
| SubjectTermsDisplay | Theory of computation -- Automated reasoning Theory of computation -- Hoare logic Theory of computation -- Program verification Theory of computation -- Programming logic Theory of computation -- Separation logic |
| Title | A concurrent program logic with a future and history |
| URI | https://dl.acm.org/doi/10.1145/3563337 |
| Volume | 6 |
| WOSCitedRecordID | wos001083750200051&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD customDbUrl: eissn: 2475-1421 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001934839 issn: 2475-1421 databaseCode: M~E dateStart: 20170101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3BTtwwELUK7YELBQqCFpAPFRcUNYntdXKMEFUPLKwErbitHGcsIUEWwYLgwrd3bE92w4oDPfQSWYnlKHnWeDyeeY-x78rWQrnSJk1apol0Wid1lkFiHGBbpVAElYg_J_r0tLi8LEek0nkf5AR02xZPT-Xtf4Ua7yHYvnT2H-CeDYo3sI2g4xVhx-u7gK98Jrkl2iVKvzoMFo4K2Q4jj0g4Noh0w6-OdkezJS1keVRHQ3-gQAPd-MhCF-OcueNDeCYJ5QkpglAsBxaTkEIS8HVkgjwHXEKn3fSkyANuWucmO84VymYP1iqXWiWZjOXOnWkd9GbQ2dno_KTKe8YyE1G9hxZe3Orpt4269PwXQg2EiAQxCwzZ9GSJfcy1Kr1pG770Am2lkOgFxoJpP9YP6u_9EXvT80d6jsXFGlulHQGvIpLr7AO0G-xzp7bByfh-YbLic2A54cEDsNwDyw2PwHKEgBOwm-z3z-OLo18JaV4kJtd6mlgwtc2bRgmXNjJvDCgxsFrVWljjMq_OUwJ6geiJ11oap5UEGAA6ls5zCTqxxZbbSQvbjEujXVHY1NYgJe7KTQnKFLp2WaPwJc0O28DvH99GVpMx_ZUddtD9j7ElmnivVnI9jiXsat6Rzzp2Yyx0-frmG76xlfls2mXL07sH2GOf7OP06v5uP4D3F5Z7U5U |
| linkProvider | ISSN International Centre |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+concurrent+program+logic+with+a+future+and+history&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Meyer%2C+Roland&rft.au=Wies%2C+Thomas&rft.au=Wolff%2C+Sebastian&rft.date=2022-10-31&rft.pub=ACM&rft.eissn=2475-1421&rft.volume=6&rft.issue=OOPSLA2&rft.spage=1378&rft.epage=1407&rft_id=info:doi/10.1145%2F3563337&rft.externalDocID=3563337 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |