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...
Uloženo v:
| Vydáno v: | Proceedings of ACM on programming languages Ročník 8; číslo OOPSLA1; s. 1294 - 1323 |
|---|---|
| Hlavní autoři: | , |
| 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 |