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...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of ACM on programming languages Vol. 6; no. OOPSLA2; pp. 1378 - 1407
Main Authors: Meyer, Roland, Wies, Thomas, Wolff, Sebastian
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: Directory of Open Access Scholarly Resources
  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/eLvHCXMwtV07T8MwELZ4DSy8EW95QCwogsZ23YwRAjFQqNSCulWOHxISBAQFwcJv52xf2lB1gIElihLLUfydznfnu-8IOWwZBZuCciC8mQEHpSh8sbJONDhijinWsiGYc3clr69b_X7WwS6dr6GdgCzL1sdH9vyvUMMzANuXzv4B7tGk8ADuAXS4Auxw_RXwuc8k10i7hOlXx0HDYSHbceQRCccGkW74x9FuZ7SlhSyP_KztDxRwokcfWahinCNzvG0_sYXyE3YEwViOnUxCCknAD5EJsmthCx1W4omRB3Baxyo7ygpmswdtlXIpkgaP5c6Vam3WJOjmptO9ytOasmyw2L0HN15w9eR0pc49_wUTTcYiQcwEQza-mSXzqRSZV23tr1qgLWMcrMBYMO3nOsHx3h7RjzV7pGZY9FbIEnoENI9IrpIZW66R5arbBkXlu054TsfAUsSDBmCpB5YqGoGlAAFFYDfI7cV57-wywZ4XiUqlHCbaqkKnxgjmTg1PjbKCNbUUhWRauYbvzpNZsALBEi8kV04Kbm3TgmHpPJegY5tkrnwq7Rah4Mha4xpaGMc4LLXS-lQZYZ1R2qWu2CZr8P-D58hqMsBV2SZH1XoMNNLE-24lD4NYwi7GA-loYDXHxJCdqV_YJYtjadojc8OXN7tPFvT78P715SCA9w0fm1Pv
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