Scenario-Based Proofs for Concurrent Objects

Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the distributed computing literature) give intuitive descriptions of a...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings of ACM on programming languages Ročník 8; číslo OOPSLA1; s. 1294 - 1323
Hlavní autoři: Enea, Constantin, Koskinen, Eric
Médium: Journal Article
Jazyk:angličtina
Vydáno: New York, NY, USA ACM 29.04.2024
Témata:
ISSN:2475-1421, 2475-1421
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the distributed computing literature) give intuitive descriptions of a few canonical executions or “scenarios” often each with only a few threads, yet it remains unknown as to whether these intuitive arguments have a formal grounding and extend to arbitrary interleavings over unboundedly many threads. We present a novel proof technique for concurrent objects, based around identifying a small set of scenarios (representative, canonical interleavings), formalized as the commutativity quotient of a concurrent object. We next give an expression language for defining abstractions of the quotient in the form of regular or context-free languages that enable simple proofs of linearizability. These quotient expressions organize unbounded interleavings into a form more amenable to reasoning and make explicit the relationship between implementation-level contention/interference and ADT-level transitions. We evaluate our work on numerous non-trivial concurrent objects from the literature (including the Michael-Scott queue, Elimination stack, SLS reservation queue, RDCSS and Herlihy-Wing queue). We show that quotients capture the diverse features/complexities of these algorithms, can be used even when linearization points are not straight-forward, correspond to original authors’ correctness arguments, and provide some new scenario-based arguments. Finally, we show that discovery of some object’s quotients reduces to two-thread reasoning and give an implementation that can derive candidate quotients expressions from source code.
AbstractList Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the distributed computing literature) give intuitive descriptions of a few canonical executions or "scenarios" often each with only a few threads, yet it remains unknown as to whether these intuitive arguments have a formal grounding and extend to arbitrary interleavings over unboundedly many threads. We present a novel proof technique for concurrent objects, based around identifying a small set of scenarios (representative, canonical interleavings), formalized as the commutativity quotient of a concurrent object. We next give an expression language for defining abstractions of the quotient in the form of regular or context-free languages that enable simple proofs of linearizability. These quotient expressions organize unbounded interleavings into a form more amenable to reasoning and make explicit the relationship between implementation-level contention/interference and ADT-level transitions. We evaluate our work on numerous non-trivial concurrent objects from the literature (including the Michael-Scott queue, Elimination stack, SLS reservation queue, RDCSS and Herlihy-Wing queue). We show that quotients capture the diverse features/complexities of these algorithms, can be used even when linearization points are not straight-forward, correspond to original authors' correctness arguments, and provide some new scenario-based arguments. Finally, we show that discovery of some object's quotients reduces to two-thread reasoning and give an implementation that can derive candidate quotients expressions from source code.
Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the distributed computing literature) give intuitive descriptions of a few canonical executions or “scenarios” often each with only a few threads, yet it remains unknown as to whether these intuitive arguments have a formal grounding and extend to arbitrary interleavings over unboundedly many threads. We present a novel proof technique for concurrent objects, based around identifying a small set of scenarios (representative, canonical interleavings), formalized as the commutativity quotient of a concurrent object. We next give an expression language for defining abstractions of the quotient in the form of regular or context-free languages that enable simple proofs of linearizability. These quotient expressions organize unbounded interleavings into a form more amenable to reasoning and make explicit the relationship between implementation-level contention/interference and ADT-level transitions. We evaluate our work on numerous non-trivial concurrent objects from the literature (including the Michael-Scott queue, Elimination stack, SLS reservation queue, RDCSS and Herlihy-Wing queue). We show that quotients capture the diverse features/complexities of these algorithms, can be used even when linearization points are not straight-forward, correspond to original authors’ correctness arguments, and provide some new scenario-based arguments. Finally, we show that discovery of some object’s quotients reduces to two-thread reasoning and give an implementation that can derive candidate quotients expressions from source code.
ArticleNumber 140
Author Enea, Constantin
Koskinen, Eric
Author_xml – sequence: 1
  givenname: Constantin
  orcidid: 0000-0003-2727-8865
  surname: Enea
  fullname: Enea, Constantin
  email: cenea@lix.polytechnique.fr
  organization: LIX - CNRS - École Polytechnique, Paris, France
– sequence: 2
  givenname: Eric
  orcidid: 0000-0001-7363-634X
  surname: Koskinen
  fullname: Koskinen, Eric
  email: eric.koskinen@stevens.edu
  organization: Stevens Institute of Technology, Hoboken, USA
BookMark eNpNj0tLAzEUhYNUsNbi3tXs3Bibm9ckSx18FAoV1PVwJw9osYkk48J_r9Iqrs6B83HgOyWTlFMg5BzYNYBUC6GlNao9IlMuW0VBcpj86ydkXuuWMQZWSCPslFw9u5CwbDK9xRp881RyjrWJuTRdTu6jlJDGZj1sgxvrGTmO-FbD_JAz8np_99I90tX6YdndrChyYUfqjQUunDfYSh6ZclFLNgyt8hY5am4UDMwqz4TnRoD1PkqJDjQKrkFGMSOX-19Xcq0lxP69bHZYPntg_Y9nf_D8Ji_2JLrdH_Q7fgGwLEyq
Cites_doi 10.1007/978-3-662-53413-7_4
10.1007/978-3-642-37036-6_17
10.1017/S0956796818000151
10.1007/BFb0028741
10.1145/3385412.3385980
10.1007/978-3-642-00590-9_26
10.1145/1007912.1007945
10.1007/978-3-319-89963-3_30
10.1145/1007912.1007944
10.1145/256167.256195
10.1007/978-3-662-44202-9_9
10.1145/3371113
10.1145/1040305.1040327
10.1007/978-3-662-46669-8_14
10.1007/978-3-540-28644-8_2
10.1145/360051.360224
10.1145/1835698.1835722
10.1145/3158125
10.1145/361227.361234
10.5281/zenodo.10814650
10.1007/3-540-17906-2_30
10.1016/j.tcs.2006.12.035
10.1007/3-540-36108-1_18
10.1145/2429069.2429104
10.1007/978-3-540-74407-8_18
10.1007/978-3-319-96145-3_5
10.1007/978-3-540-28644-8_4
10.1145/78969.78972
10.4230/LIPIcs.CONCUR.2018.21
10.1145/1190216.1190261
10.1145/2500365.2500600
10.2168/LMCS-11(1:20)2015
10.1007/3-540-40026-5_4
10.1007/978-3-540-70545-1_37
10.1016/j.tcs.2006.12.034
10.1007/978-3-319-21668-3_26
10.1007/978-3-642-14295-6_40
10.1145/1480881.1480885
10.1007/978-3-662-46669-8_29
10.1145/2676726.2676980
10.1007/3-540-60761-7
10.1145/3360587
10.1145/2429069.2429134
ContentType Journal Article
Copyright Owner/Author
Copyright_xml – notice: Owner/Author
DBID AAYXX
CITATION
DOI 10.1145/3649857
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList CrossRef

DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2475-1421
EndPage 1323
ExternalDocumentID 10_1145_3649857
3649857
GrantInformation_xml – fundername: National Science Foundation
  grantid: CCF-2008633 and CCF-2315363
  funderid: https:\/\/doi.org\/10.13039\/100000001
– fundername: Agence Nationale de la Recherche
  grantid: SCEPROOF
  funderid: https:\/\/doi.org\/10.13039\/501100001665
GroupedDBID AAKMM
AAYFX
ACM
AEFXT
AEJOY
AIKLT
AKRVB
ALMA_UNASSIGNED_HOLDINGS
GUFHI
LHSKQ
M~E
OK1
ROL
AAYXX
CITATION
ID FETCH-LOGICAL-a239t-d89123cd8a742f05cf640bb75d9a2a62851b095d03d28319ddf44ac16a32614f3
ISICitedReferencesCount 1
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001209927600047&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:54:36 EST 2025
Mon Jul 07 16:40:28 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue OOPSLA1
Keywords concurrent objects
commutativity quotient
verification
linearizability
Language English
License This work is licensed under a Creative Commons Attribution International 4.0 License.
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a239t-d89123cd8a742f05cf640bb75d9a2a62851b095d03d28319ddf44ac16a32614f3
ORCID 0000-0001-7363-634X
0000-0003-2727-8865
OpenAccessLink https://dl.acm.org/doi/10.1145/3649857
PageCount 30
ParticipantIDs crossref_primary_10_1145_3649857
acm_primary_3649857
PublicationCentury 2000
PublicationDate 2024-04-29
PublicationDateYYYYMMDD 2024-04-29
PublicationDate_xml – month: 04
  year: 2024
  text: 2024-04-29
  day: 29
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 2024
Publisher ACM
Publisher_xml – name: ACM
References (bib33) 2018
(bib39) 1996
(bib43) 2010
(bib52) 2008
(bib16) 2009
(bib56) 2015
(bib17) 2023
(bib44) 1976; 19
(bib42) 2007; 375
(bib31) 1997; 19
(bib9) 1998
(bib27) 2018; 28
(bib38) 1986
(bib28) 2020; 4
(bib10) 2014
(bib53) 2009
(bib6) 2004
(bib7) 2018
(bib45) 2007
(bib12) 2013
(bib47) 2012
(bib26) 1983
(bib36) 2013
(bib8) 2015; 11
(bib40) 2019; 3
(bib18) 2024
(bib21) 2015
(bib1) 2016
(bib48) 2006
(bib2) 2008
(bib13) 2009
(bib14) 2004
(bib32) 2020
(bib24) 2008
(bib51) 2013
(bib35) 2018; 2
(bib4) 2013
(bib19) 1996; 1032
(bib50) 1986
(bib11) 2000
(bib3) 2005
(bib41) 2004
(bib15) 2013
(bib49) 2015
(bib34) 2018
(bib5) 2007; 375
(bib23) 2004
(bib22) 2018
(bib46) 2015
(bib25) 1990; 12
(bib54) 2010
(bib55) 2007
(bib29) 2015
(bib37) 1975; 18
(bib20) 2002
(bib30) 2024
Nanevski Aleksandar (e_1_2_1_40_1) 2019
Jung Ralf (e_1_2_1_28_1) 2020
Dinsdale-Young Thomas (e_1_2_1_12_1) 2013
Doherty Simon (e_1_2_1_14_1) 2004
e_1_2_1_22_1
Bornat Richard (e_1_2_1_3_1) 2005
Parkinson Matthew J. (e_1_2_1_45_1) 2007
Herlihy Maurice (e_1_2_1_24_1)
Clarke Edmund M. (e_1_2_1_9_1); 158
Harris Timothy L. (e_1_2_1_20_1); 279
Kragl Bernhard (e_1_2_1_32_1) 2020
Michael Maged M. (e_1_2_1_39_1) 1996
Vafeiadis Viktor (e_1_2_1_54_1) 2010; 464
Abdulla Parosh Aziz (e_1_2_1_1_1) 2016; 83
e_1_2_1_31_1
e_1_2_1_8_1
e_1_2_1_35_1
e_1_2_1_4_1
e_1_2_1_33_1
e_1_2_1_16_1
Raad Azalea (e_1_2_1_46_1) 2015
e_1_2_1_37_1
O’Hearn Peter W. (e_1_2_1_41_1) 2004
William N (e_1_2_1_48_1) 2006
Schellhorn Gerhard (e_1_2_1_47_1) 2012
e_1_2_1_42_1
da Rocha Pinto Pedro (e_1_2_1_10_1) 2014
Jung Ralf (e_1_2_1_29_1) 2015
e_1_2_1_21_1
e_1_2_1_44_1
e_1_2_1_27_1
e_1_2_1_25_1
Vafeiadis V. (e_1_2_1_52_1)
Hendler Danny (e_1_2_1_23_1) 2004
Treiber R. K. (e_1_2_1_50_1) 1986
Brookes Stephen D. (e_1_2_1_6_1) 2004
Mazurkiewicz Antoni W. (e_1_2_1_38_1) 1986; 324
Ley-Wild Ruy (e_1_2_1_36_1) 2013
Detlefs David (e_1_2_1_11_1); 73
Enea Constantin (e_1_2_1_18_1) 2024
Berdine Josh (e_1_2_1_2_1) 2008; 413
Jones Cliff B. (e_1_2_1_26_1) 1983
e_1_2_1_7_1
Turon Aaron (e_1_2_1_51_1) 2013
e_1_2_1_30_1
e_1_2_1_55_1
e_1_2_1_5_1
Sergey Ilya (e_1_2_1_49_1) 2015
e_1_2_1_13_1
e_1_2_1_34_1
O’Hearn Peter W. (e_1_2_1_43_1) 2010
e_1_2_1_17_1
Zhu He (e_1_2_1_56_1) 2015
Dragoi Cezara (e_1_2_1_15_1) 2013
Vafeiadis Viktor (e_1_2_1_53_1) 2009; 348
e_1_2_1_19_1
References_xml – start-page: 61
  year: 2016
  end-page: 83
  ident: bib1
  publication-title: Static Analysis - 23rd International Symposium, SAS 2016, Edinburgh, UK, September 8-10, 2016, Proceedings (Lecture Notes in Computer Science, Vol. 9837)
  doi: 10.1007/978-3-662-53413-7_4
– start-page: 290
  year: 2013
  end-page: 309
  ident: bib4
  publication-title: Programming Languages and Systems - 22nd European Symposium on Programming, ESOP 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings (Lecture Notes in Computer Science, Vol. 7792)
  doi: 10.1007/978-3-642-37036-6_17
– volume: 28
  year: 2018
  ident: bib27
  article-title: Iris from the ground up: A modular foundation for higher-order concurrent separation logic
  publication-title: J. Funct. Program
  doi: 10.1017/S0956796818000151
– start-page: 147
  year: 1998
  end-page: 158
  ident: bib9
  publication-title: Computer Aided Verification, 10th International Conference, CAV ’98, Vancouver, BC, Canada, June 28 - July 2, 1998, Proceedings (Lecture Notes in Computer Science, Vol. 1427)
  doi: 10.1007/BFb0028741
– start-page: 227
  year: 2020
  end-page: 242
  ident: bib32
  publication-title: Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020
  doi: 10.1145/3385412.3385980
– start-page: 363
  year: 2009
  end-page: 377
  ident: bib13
  publication-title: Programming Languages and Systems, 18th European Symposium on Programming, ESOP 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings (Lecture Notes in Computer Science, Vol. 5502)
  doi: 10.1007/978-3-642-00590-9_26
– start-page: 216
  year: 2004
  end-page: 224
  ident: bib14
  publication-title: SPAA 2004: Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, June 27-30, 2004, Barcelona, Spain
  doi: 10.1145/1007912.1007945
– start-page: 147
  year: 2006
  end-page: 156
  ident: bib48
  article-title: Scalable synchronous queues
  publication-title: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
– start-page: 447
  year: 2018
  end-page: 451
  ident: bib22
  doi: 10.1007/978-3-319-89963-3_30
– start-page: 206
  year: 2004
  end-page: 215
  ident: bib23
  publication-title: SPAA 2004: Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, June 27-30, 2004, Barcelona, Spain
  doi: 10.1145/1007912.1007944
– start-page: 321
  year: 1983
  end-page: 332
  ident: bib26
  publication-title: Specification and Design of (Parallel) Programs
– volume: 19
  start-page: 427
  issue: 3
  year: 1997
  end-page: 443
  ident: bib31
  article-title: Kleene Algebra with Tests
  publication-title: ACM Trans. Program. Lang. Syst
  doi: 10.1145/256167.256195
– start-page: 174
  year: 2013
  end-page: 190
  ident: bib15
  publication-title: CAV ’13 (LNCS, Vol. 8044)
– start-page: 207
  year: 2014
  end-page: 231
  ident: bib10
  article-title: TaDA: A Logic for Time and Data Abstraction
  publication-title: ECOOP 2014 - Object-Oriented Programming - 28th European Conference, Uppsala, Sweden, July 28 - August 1, 2014. Proceedings
  doi: 10.1007/978-3-662-44202-9_9
– year: 2024
  ident: bib18
  publication-title: CION: Concurrent Trace Reductions
– volume: 4
  start-page: 45:1
  year: 2020
  end-page: 45:32
  ident: bib28
  article-title: The future is ours: prophecy variables in separation logic
  publication-title: Proc. ACM Program. Lang
  doi: 10.1145/3371113
– start-page: 259
  year: 2005
  end-page: 270
  ident: bib3
  publication-title: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, January 12-14, 2005
  doi: 10.1145/1040305.1040327
– start-page: 333
  year: 2015
  end-page: 358
  ident: bib49
  article-title: Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity
  publication-title: Programming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings
  doi: 10.1007/978-3-662-46669-8_14
– start-page: 16
  year: 2004
  end-page: 34
  ident: bib6
  article-title: A Semantics for Concurrent Separation Logic
  publication-title: In CONCUR 2004 - Concurrency Theory, 15th International Conference, London, UK, August 31 - September 3, 2004, Proceedings
  doi: 10.1007/978-3-540-28644-8_2
– volume: 19
  start-page: 279
  issue: 5
  year: 1976
  end-page: 285
  ident: bib44
  article-title: Verifying Properties of Parallel Programs: An Axiomatic Approach
  publication-title: Commun. ACM
  doi: 10.1145/360051.360224
– start-page: 85
  year: 2010
  end-page: 94
  ident: bib43
  publication-title: Proceedings of the 29th Annual ACM Symposium on Principles of Distributed Computing, PODC 2010, Zurich, Switzerland, July 25-28, 2010
  doi: 10.1145/1835698.1835722
– volume: 2
  start-page: 37:1
  year: 2018
  end-page: 37:31
  ident: bib35
  article-title: Go with the flow: compositional abstractions for concurrent data structures
  publication-title: PACMPL
  doi: 10.1145/3158125
– volume: 18
  issue: 12
  year: 1975
  ident: bib37
  article-title: Reduction: A Method of Proving Properties of Parallel Programs
  publication-title: Commun. ACM
  doi: 10.1145/361227.361234
– year: 2024
  ident: bib30
  publication-title: quotientprovers/cion: oopsla2024-artifact: Version used in evaluation for the OOPSLA’24 paper “Scenario-Based Proofs for Concurrent Objects”
  doi: 10.5281/zenodo.10814650
– start-page: 279
  year: 1986
  end-page: 324
  ident: bib38
  publication-title: Petri Nets: Central Models and Their Properties, Advances in Petri Nets 1986, Part II, Proceedings of an Advanced Course, Bad Honnef, Germany, 8-19 September 1986 (Lecture Notes in Computer Science, Vol. 255)
  doi: 10.1007/3-540-17906-2_30
– year: 2023
  ident: bib17
  publication-title: Scenario-Based Proofs for Concurrent Objects [Extended Version]
– volume: 375
  start-page: 1
  year: 2007
  end-page: 3
  ident: bib42
  article-title: Resources, concurrency, and local reasoning
  publication-title: Theor. Comput. Sci
  doi: 10.1016/j.tcs.2006.12.035
– start-page: 265
  year: 2002
  end-page: 279
  ident: bib20
  publication-title: Distributed Computing, 16th International Conference, DISC 2002, Toulouse, France, October 28-30, 2002 Proceedings (Lecture Notes in Computer Science, Vol. 2508)
  doi: 10.1007/3-540-36108-1_18
– start-page: 335
  year: 2009
  end-page: 348
  ident: bib53
  publication-title: VMCAI ’09: Proc. 10th Intl. Conf. on Verification, Model Checking, and Abstract Interpretation (LNCS, Vol. 5403)
– year: 2008
  ident: bib52
  publication-title: Modular fine-grained concurrency verification
– start-page: 287
  year: 2013
  end-page: 300
  ident: bib12
  publication-title: The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’13, Rome, Italy - January 23 - 25, 2013
  doi: 10.1145/2429069.2429104
– start-page: 256
  year: 2007
  end-page: 271
  ident: bib55
  publication-title: CONCUR 2007 - Concurrency Theory, 18th International Conference, CONCUR 2007, Lisbon, Portugal, September 3-8, 2007, Proceedings (Lecture Notes in Computer Science, Vol. 4703)
  doi: 10.1007/978-3-540-74407-8_18
– year: 2018
  ident: bib33
  article-title: Layered Concurrent Programs
  publication-title: CAV
  doi: 10.1007/978-3-319-96145-3_5
– start-page: 49
  year: 2004
  end-page: 67
  ident: bib41
  article-title: Resources, Concurrency and Local Reasoning
  publication-title: CONCUR 2004 - Concurrency Theory, 15th International Conference, London, UK, August 31 - September 3, 2004, Proceedings
  doi: 10.1007/978-3-540-28644-8_4
– year: 1986
  ident: bib50
  publication-title: Technical Report RJ 5118
– volume: 12
  start-page: 463
  issue: 3
  year: 1990
  end-page: 492
  ident: bib25
  article-title: Linearizability: A Correctness Condition for Concurrent Objects
  publication-title: ACM Trans. Program. Lang. Syst
  doi: 10.1145/78969.78972
– year: 2018
  ident: bib7
  article-title: Verifying concurrent software using movers in CSPEC
  publication-title: OSDI
– year: 2018
  ident: bib34
  article-title: Synchronizing the Asynchronous
  publication-title: CONCUR
  doi: 10.4230/LIPIcs.CONCUR.2018.21
– start-page: 297
  year: 2007
  end-page: 302
  ident: bib45
  article-title: Modular verification of a non-blocking stack
  publication-title: Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2007, Nice, France, January 17-19, 2007
  doi: 10.1145/1190216.1190261
– start-page: 377
  year: 2013
  end-page: 390
  ident: bib51
  article-title: Unifying refinement and hoare-style reasoning in a logic for higherorder concurrency
  publication-title: ACM SIGPLAN International Conference on Functional Programming, ICFP’13, Boston, MA, USA September 25 - 27, 2013
  doi: 10.1145/2500365.2500600
– volume: 11
  issue: 1
  year: 2015
  ident: bib8
  article-title: Aspect-oriented linearizability proofs
  publication-title: Log. Methods Comput. Sci
  doi: 10.2168/LMCS-11(1:20)2015
– start-page: 59
  year: 2000
  end-page: 73
  ident: bib11
  publication-title: Distributed Computing, 14th International Conference, DISC 2000, Toledo, Spain, October 4-6, 2000, Proceedings (Lecture Notes in Computer Science, Vol. 1914)
  doi: 10.1007/3-540-40026-5_4
– start-page: 399
  year: 2008
  end-page: 413
  ident: bib2
  publication-title: Computer Aided Verification, 20th International Conference, CAV 2008, Princeton, NJ, USA, July 7-14, 2008, Proceedings (Lecture Notes in Computer Science, Vol. 5123)
  doi: 10.1007/978-3-540-70545-1_37
– volume: 375
  start-page: 227
  issue: 1-3
  year: 2007
  end-page: 270
  ident: bib5
  article-title: A semantics for concurrent separation logic
  publication-title: Theor. Comput. Sci
  doi: 10.1016/j.tcs.2006.12.034
– year: 2008
  ident: bib24
  publication-title: The Art of Multiprocessor Programming
– year: 2015
  ident: bib21
  article-title: Automated and Modular Refinement Reasoning for Concurrent Programs
  publication-title: CAV
  doi: 10.1007/978-3-319-21668-3_26
– start-page: 3
  year: 2015
  end-page: 19
  ident: bib56
  article-title: Poling: SMT Aided Linearizability Proofs
  publication-title: Computer Aided Verification - 27th International Conference, CAV 2015, San Francisco, CA, USA, July 18-24, 2015, Proceedings, Part II
– start-page: 267
  year: 1996
  end-page: 275
  ident: bib39
  publication-title: PODC ’96
– start-page: 450
  year: 2010
  end-page: 464
  ident: bib54
  publication-title: Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, UK, July 15-19, 2010. Proceedings (Lecture Notes in Computer Science, Vol. 6174)
  doi: 10.1007/978-3-642-14295-6_40
– year: 2009
  ident: bib16
  article-title: A calculus of atomic actions
  publication-title: POPL
  doi: 10.1145/1480881.1480885
– year: 2015
  ident: bib46
  article-title: CoLoSL: Concurrent Local Subjective Logic
  publication-title: Programming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 710–735
  doi: 10.1007/978-3-662-46669-8_29
– start-page: 637
  year: 2015
  end-page: 650
  ident: bib29
  publication-title: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, Mumbai, India, January 15-17, 2015
  doi: 10.1145/2676726.2676980
– start-page: 243
  year: 2012
  end-page: 259
  ident: bib47
  article-title: How to Prove Algorithms Linearisable
  publication-title: Computer Aided Verification - 24th International Conference, CAV 2012, Berkeley, CA, USA, July 7-13, 2012 Proceedings
– volume: 1032
  year: 1996
  ident: bib19
  publication-title: Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem
  doi: 10.1007/3-540-60761-7
– volume: 3
  start-page: 161:1
  year: 2019
  end-page: 161:30
  ident: bib40
  article-title: Specifying concurrent programs in separation logic: morphisms and simulations
  publication-title: Proc. ACM Program. Lang
  doi: 10.1145/3360587
– start-page: 561
  year: 2013
  end-page: 574
  ident: bib36
  publication-title: The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’13, Rome, Italy - January 23 - 25, 2013
  doi: 10.1145/2429069.2429134
– ident: e_1_2_1_55_1
  doi: 10.1007/978-3-540-74407-8_18
– volume-title: Proceedings of the 29th Annual ACM Symposium on Principles of Distributed Computing, PODC 2010
  year: 2010
  ident: e_1_2_1_43_1
– volume-title: Specification and Design of (Parallel) Programs. In IFIP Congress. 321–332
  year: 1983
  ident: e_1_2_1_26_1
– volume-title: ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 333–358
  year: 2015
  ident: e_1_2_1_49_1
– volume: 279
  volume-title: 16th International Conference, DISC 2002, Toulouse, France, October 28-30, 2002 Proceedings, Dahlia Malkhi (Ed.) (Lecture Notes in Computer Science
  ident: e_1_2_1_20_1
– volume: 158
  volume-title: 10th International Conference, CAV ’98, Vancouver, BC, Canada, June 28 - July 2, 1998, Proceedings, Alan J. Hu and Moshe Y. Vardi (Eds.) (Lecture Notes in Computer Science
  ident: e_1_2_1_9_1
– volume-title: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005
  year: 2005
  ident: e_1_2_1_3_1
– volume-title: SPAA 2004: Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures
  year: 2004
  ident: e_1_2_1_23_1
– volume: 324
  volume-title: Proceedings of an Advanced Course
  year: 1986
  ident: e_1_2_1_38_1
– ident: e_1_2_1_25_1
  doi: 10.1145/78969.78972
– ident: e_1_2_1_4_1
  doi: 10.1007/978-3-642-37036-6_17
– ident: e_1_2_1_13_1
  doi: 10.1007/978-3-642-00590-9_26
– volume-title: CAV 2015, San Francisco, CA, USA, July 18-24, 2015, Proceedings, Part II. 3–19
  year: 2015
  ident: e_1_2_1_56_1
– ident: e_1_2_1_5_1
  doi: 10.1016/j.tcs.2006.12.034
– volume-title: ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 710–735
  year: 2015
  ident: e_1_2_1_46_1
– ident: e_1_2_1_35_1
  doi: 10.1145/3158125
– ident: e_1_2_1_44_1
  doi: 10.1145/360051.360224
– volume: 73
  volume-title: 14th International Conference, DISC 2000, Toledo, Spain, October 4-6, 2000, Proceedings, Maurice Herlihy (Ed.) (Lecture Notes in Computer Science
  ident: e_1_2_1_11_1
– volume-title: Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2007
  year: 2007
  ident: e_1_2_1_45_1
– ident: e_1_2_1_42_1
  doi: 10.1016/j.tcs.2006.12.035
– volume-title: Proc. ACM Program. Lang., 4, POPL
  year: 2020
  ident: e_1_2_1_28_1
– volume-title: The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’13
  year: 2013
  ident: e_1_2_1_12_1
– ident: e_1_2_1_22_1
  doi: 10.1007/978-3-319-89963-3_30
– ident: e_1_2_1_37_1
  doi: 10.1145/361227.361234
– volume-title: Systems Programming: Coping with Parallelism
  year: 1986
  ident: e_1_2_1_50_1
– volume: 348
  volume-title: Proc. 10th Intl. Conf. on Verification, Model Checking, and Abstract Interpretation (LNCS
  year: 2009
  ident: e_1_2_1_53_1
– ident: e_1_2_1_27_1
  doi: 10.1017/S0956796818000151
– ident: e_1_2_1_19_1
  doi: 10.1007/3-540-60761-7
– ident: e_1_2_1_7_1
– volume-title: CAV 2012, Berkeley, CA, USA, July 7-13, 2012 Proceedings. 243–259
  year: 2012
  ident: e_1_2_1_47_1
– volume: 464
  volume-title: 22nd International Conference, CAV 2010, Edinburgh, UK, July 15-19, 2010. Proceedings, Tayssir Touili, Byron Cook, and Paul B. Jackson (Eds.) (Lecture Notes in Computer Science
  year: 2010
  ident: e_1_2_1_54_1
– volume-title: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming. 147–156
  year: 2006
  ident: e_1_2_1_48_1
– volume-title: Concurrency and Local Reasoning. In CONCUR 2004 - Concurrency Theory, 15th International Conference, London, UK, August 31 - September 3, 2004, Proceedings. 49–67
  year: 2004
  ident: e_1_2_1_41_1
– ident: e_1_2_1_16_1
  doi: 10.1145/1480881.1480885
– ident: e_1_2_1_33_1
  doi: 10.1007/978-3-319-96145-3_5
– ident: e_1_2_1_21_1
  doi: 10.1007/978-3-319-21668-3_26
– volume-title: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015
  year: 2015
  ident: e_1_2_1_29_1
– volume-title: CONCUR 2004 - Concurrency Theory, 15th International Conference, London, UK, August 31 - September 3, 2004, Proceedings. 16–34
  year: 2004
  ident: e_1_2_1_6_1
– ident: e_1_2_1_30_1
  doi: 10.5281/zenodo.10814650
– volume: 83
  volume-title: SAS 2016, Edinburgh, UK, September 8-10, 2016, Proceedings, Xavier Rival (Ed.) (Lecture Notes in Computer Science
  year: 2016
  ident: e_1_2_1_1_1
– volume-title: ACM SIGPLAN International Conference on Functional Programming, ICFP’13
  year: 2013
  ident: e_1_2_1_51_1
– volume-title: Modular fine-grained concurrency verification. Ph. D. Dissertation
  ident: e_1_2_1_52_1
– ident: e_1_2_1_31_1
  doi: 10.1145/256167.256195
– volume-title: Scott
  year: 1996
  ident: e_1_2_1_39_1
– ident: e_1_2_1_17_1
– volume-title: Henzinger
  year: 2013
  ident: e_1_2_1_15_1
– volume-title: Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020
  year: 2020
  ident: e_1_2_1_32_1
– ident: e_1_2_1_8_1
  doi: 10.2168/LMCS-11(1:20)2015
– ident: e_1_2_1_34_1
  doi: 10.4230/LIPIcs.CONCUR.2018.21
– volume-title: The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’13
  year: 2013
  ident: e_1_2_1_36_1
– volume-title: CION: Concurrent Trace Reductions. https://github.com/quotientprovers/cion
  year: 2024
  ident: e_1_2_1_18_1
– volume-title: SPAA 2004: Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures
  year: 2004
  ident: e_1_2_1_14_1
– volume-title: Proc. ACM Program. Lang., 3, OOPSLA
  year: 2019
  ident: e_1_2_1_40_1
– volume: 413
  volume-title: 20th International Conference, CAV 2008, Princeton, NJ, USA, July 7-14, 2008, Proceedings, Aarti Gupta and Sharad Malik (Eds.) (Lecture Notes in Computer Science
  year: 2008
  ident: e_1_2_1_2_1
– volume-title: TaDA: A Logic for Time and Data Abstraction. In ECOOP 2014 - Object-Oriented Programming - 28th European Conference, Uppsala, Sweden, July 28 - August 1, 2014. Proceedings. 207–231
  year: 2014
  ident: e_1_2_1_10_1
– volume-title: The Art of Multiprocessor Programming
  ident: e_1_2_1_24_1
SSID ssj0001934839
Score 2.268386
Snippet Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness...
SourceID crossref
acm
SourceType Index Database
Publisher
StartPage 1294
SubjectTerms Computing methodologies
Concurrent algorithms
Formal software verification
Logic and verification
Program reasoning
Software and its engineering
Theory of computation
SubjectTermsDisplay Computing methodologies -- Concurrent algorithms
Software and its engineering -- Formal software verification
Theory of computation -- Logic and verification
Theory of computation -- Program reasoning
Title Scenario-Based Proofs for Concurrent Objects
URI https://dl.acm.org/doi/10.1145/3649857
Volume 8
WOSCitedRecordID wos001209927600047&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/eLvHCXMwtV07T8MwELbKY2DhjXgrAyOGxnESeywViAHaSgWpG3JsR0KAi2ipOvHbOTtOmiIkYGCJIie2ZH_O3XeXuzNCJzqVVLGYYhkTgWkSMsxEInAzIoKxUCZ5krvDJtJOhw0GvNdo3JS5MJPn1Bg2nfLXf4Ua2gBsmzr7B7irQaEB7gF0uALscP0V8H2pDRjAQ3wBCsplAoCec9GE7aGRvhxTN7P-l1GdmvYqVeaiO1rtW_sjwcdvvViPQunbnNFwox33bBcks6zi7TJpRk_AX00pauvOBeJiUrwHwskgQtMYh7RIYj7T37R5Icpqe6Xb7fVvWmFNLAKpoDUVCxZw9L34prbSRZRQzoqy1fMFsr8oriqcsEiujh98xwW0RNKY2wC_24-ax41HlLmj5aoZFFnUtu-572tJinypkZQa27hbR6veTAhaBbwbqKHNJlorj-AIvETeQqfzaAcF2gGgHczQDjza2-j-6vKufY39ARhYkIiPsWIciIVUTKSU5M1Y5gltZlkaKy6IsMmvYQYUWTUjBSwx5ErllAoZJgJIeUjzaActmqHRuyjIcsEUkGUBo8AXScCwspXplNYUDPA83kObMO-H16LESbmSeygo16F69GWx939-5QCtzPbWIVocv73rI7QsJ-PH0duxA-kTyh1H_w
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=Scenario-Based+Proofs+for+Concurrent+Objects&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Enea%2C+Constantin&rft.au=Koskinen%2C+Eric&rft.date=2024-04-29&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=8&rft.issue=OOPSLA1&rft.spage=1294&rft.epage=1323&rft_id=info:doi/10.1145%2F3649857&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3649857
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