Proving highly-concurrent traversals correct
Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are notoriously difficult to prove linearizable, which requires id...
Saved in:
| Published in: | Proceedings of ACM on programming languages Vol. 4; no. OOPSLA; pp. 1 - 29 |
|---|---|
| Main Authors: | , , , , , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
New York, NY, USA
ACM
13.11.2020
|
| Subjects: | |
| ISSN: | 2475-1421, 2475-1421 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are notoriously difficult to prove linearizable, which requires identifying a point in time in which the traversal's result is correct. The problem is that traversing the data structure as it undergoes modifications leads to complex behaviors, necessitating intricate reasoning about all interleavings of reads by traversals and writes mutating the data structure. In this paper, we present a general proof technique for proving unsynchronized traversals correct in a significantly simpler manner, compared to typical concurrent reasoning and prior proof techniques. Our framework relies only on sequential properties of traversals and on a conceptually simple and widely-applicable condition about the ways an algorithm's writes mutate the data structure. Establishing that a target data structure satisfies our condition requires only simple concurrent reasoning, without considering interactions of writes and reads. This reasoning can be further simplified by using our framework. To demonstrate our technique, we apply it to prove several interesting and challenging concurrent binary search trees: the logical-ordering AVL tree, the Citrus tree, and the full contention-friendly tree. Both the logical-ordering tree and the full contention-friendly tree are beyond the reach of previous approaches targeted at simplifying linearizability proofs. |
|---|---|
| AbstractList | Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are notoriously difficult to prove linearizable, which requires identifying a point in time in which the traversal's result is correct. The problem is that traversing the data structure as it undergoes modifications leads to complex behaviors, necessitating intricate reasoning about all interleavings of reads by traversals and writes mutating the data structure.
In this paper, we present a general proof technique for proving unsynchronized traversals correct in a significantly simpler manner, compared to typical concurrent reasoning and prior proof techniques. Our framework relies only on sequential properties of traversals and on a conceptually simple and widely-applicable condition about the ways an algorithm's writes mutate the data structure. Establishing that a target data structure satisfies our condition requires only simple concurrent reasoning, without considering interactions of writes and reads. This reasoning can be further simplified by using our framework.
To demonstrate our technique, we apply it to prove several interesting and challenging concurrent binary search trees: the logical-ordering AVL tree, the Citrus tree, and the full contention-friendly tree. Both the logical-ordering tree and the full contention-friendly tree are beyond the reach of previous approaches targeted at simplifying linearizability proofs. Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are notoriously difficult to prove linearizable, which requires identifying a point in time in which the traversal's result is correct. The problem is that traversing the data structure as it undergoes modifications leads to complex behaviors, necessitating intricate reasoning about all interleavings of reads by traversals and writes mutating the data structure. In this paper, we present a general proof technique for proving unsynchronized traversals correct in a significantly simpler manner, compared to typical concurrent reasoning and prior proof techniques. Our framework relies only on sequential properties of traversals and on a conceptually simple and widely-applicable condition about the ways an algorithm's writes mutate the data structure. Establishing that a target data structure satisfies our condition requires only simple concurrent reasoning, without considering interactions of writes and reads. This reasoning can be further simplified by using our framework. To demonstrate our technique, we apply it to prove several interesting and challenging concurrent binary search trees: the logical-ordering AVL tree, the Citrus tree, and the full contention-friendly tree. Both the logical-ordering tree and the full contention-friendly tree are beyond the reach of previous approaches targeted at simplifying linearizability proofs. |
| ArticleNumber | 128 |
| Author | Feldman, Yotam M. Y. Morrison, Adam Nanevski, Aleksandar Rinetzky, Noam Khyzha, Artem Shoham, Sharon Enea, Constantin |
| Author_xml | – sequence: 1 givenname: Yotam M. Y. surname: Feldman fullname: Feldman, Yotam M. Y. email: yotam.feldman@gmail.com organization: Tel Aviv University, Israel – sequence: 2 givenname: Artem surname: Khyzha fullname: Khyzha, Artem email: artkhyzha@mail.tau.ac.il organization: Tel Aviv University, Israel – sequence: 3 givenname: Constantin surname: Enea fullname: Enea, Constantin email: cenea@irif.fr organization: University of Paris Diderot, France – sequence: 4 givenname: Adam surname: Morrison fullname: Morrison, Adam email: mad@cs.tau.ac.il organization: Tel Aviv University, Israel – sequence: 5 givenname: Aleksandar orcidid: 0000-0002-4851-1075 surname: Nanevski fullname: Nanevski, Aleksandar email: aleks.nanevski@imdea.org organization: IMDEA Software Institute, Spain – sequence: 6 givenname: Noam surname: Rinetzky fullname: Rinetzky, Noam email: maon@cs.tau.ac.il organization: Tel Aviv University, Israel – sequence: 7 givenname: Sharon surname: Shoham fullname: Shoham, Sharon email: sharon.shoham@gmail.com organization: Tel Aviv University, Israel |
| BookMark | eNptj0FLAzEQhYNUsNbi3VNvXozuJNns5ijFqlDQg56X7GzSRraJJLHQf-9Kq4h4evPefAzzTsnIB28IOYfiGkCUN1ywGpQ8ImMmqpKCYDD6NZ-QaUpvRVGA4qLmakyunmPYOr-ard1q3e8oBo8fMRqfZznqrYlJ92mGYYgwn5FjO1gzPeiEvC7uXuYPdPl0_zi_XVLNqirTjgnbWmSKaVnJWnODSloLbctU2VmJLXJQXc0UMM25aJUEqEshJO8qlJpPCN3fxRhSisY26LLOLvjhJ9c3UDRfbZtD24G__MO_R7fRcfcPebEnNW5-oO_lJxS6XQk |
| CitedBy_id | crossref_primary_10_1145_3704906 crossref_primary_10_1145_3689775 crossref_primary_10_1145_3485490 crossref_primary_10_1145_3591284 crossref_primary_10_1145_3591296 crossref_primary_10_1145_3729248 crossref_primary_10_1145_3563337 |
| Cites_doi | 10.1145/3371113 10.1145/2491956.2462189 10.1017/S0956796818000151 10.1145/2684464.2684472 10.1145/2150976.2150998 10.5555/645958.676105 10.1007/978-3-662-46669-8_14 10.1145/2555243.2555267 10.1145/2555243.2555256 10.1145/2694344.2694359 10.1007/978-3-642-37036-6_17 10.1145/2688500.2688501 10.1145/2429069.2429134 10.1145/78969.78972 10.1145/2611462.2611471 10.1007/978-3-540-93900-9_27 10.1007/978-3-319-63390-9_28 10.1145/1040305.1040327 10.1145/1190216.1190261 10.1145/3158125 10.5555/1760631.1760646 10.1007/978-3-642-40047-6_25 10.1145/2168836.2168855 10.1145/2983990.2983999 10.1145/2555243.2555269 10.1145/3385412.3386029 10.1007/978-3-662-48653-5_24 10.1007/978-3-540-28644-8_4 10.1145/3360587 10.1007/978-3-540-28644-8_2 10.1145/2500365.2500600 10.1145/360051.360224 10.1145/1693453.1693488 10.1145/1706299.1706305 10.1007/978-3-662-44202-9_9 10.1007/978-3-662-46669-8_29 10.1109/TPDS.2011.159 10.1145/42201.42204 10.1007/978-3-642-14295-6_40 10.1142/S0129626416500158 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3428196 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 29 |
| ExternalDocumentID | 10_1145_3428196 3428196 |
| GroupedDBID | AAKMM AAYFX ACM ADPZR AIKLT ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX AEFXT AEJOY AKRVB CITATION |
| ID | FETCH-LOGICAL-a277t-d24fbfc292a6768a3ec96ff1bb295df6cbc319d82912a334b9611854463d7c6a3 |
| ISICitedReferencesCount | 11 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000685203900005&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:49:09 EST 2025 Tue Nov 18 21:01:40 EST 2025 Fri Feb 21 01:11:53 EST 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | OOPSLA |
| Keywords | traversal concurrent data structures proof framework linearizability traversal correctness |
| Language | English |
| License | This work is licensed under a Creative Commons Attribution International 4.0 License. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a277t-d24fbfc292a6768a3ec96ff1bb295df6cbc319d82912a334b9611854463d7c6a3 |
| ORCID | 0000-0002-4851-1075 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3428196 |
| PageCount | 29 |
| ParticipantIDs | crossref_citationtrail_10_1145_3428196 crossref_primary_10_1145_3428196 acm_primary_3428196 |
| PublicationCentury | 2000 |
| PublicationDate | 2020-11-13 |
| PublicationDateYYYYMMDD | 2020-11-13 |
| PublicationDate_xml | – month: 11 year: 2020 text: 2020-11-13 day: 13 |
| 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 | 2020 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | Paul E. McKenney and John D. Slingwine. 1998. Read-copy update: using execution history to solve concurrency problems. In PDCS. Hagit Attiya, G. Ramalingam, and Noam Rinetzky. 2010. Sequential verification of serializability. In Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2010, Madrid, Spain, January 17-23, 2010. 31-42. https://doi.org/10.1145/1706299.1706305 10.1145/1706299.1706305 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 2018. Siddharth Krishna, Dennis E. Shasha, and Thomas Wies. 2018. Go with the flow: compositional abstractions for concurrent data structures. PACMPL 2, POPL ( 2018 ), 37 : 1-37 : 31. https://doi.org/10.1145/3158125 10.1145/3158125 Aravind Natarajan and Neeraj Mittal. 2014. Fast Concurrent Lock-free Binary Search Trees. In PPoPP 2014. Josh Triplett, Paul E. McKenney, and Jonathan Walpole. 2011. Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming. In USENIX ATC 2011. Siddharth Krishna, Nisarg Patel, Dennis Shasha,, and Thomas Wies. 2020. Verifying Concurrent Search Structure Templates. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2010. ACM. Thomas A. Henzinger, Ali Sezgin, and Viktor Vafeiadis. 2013. Aspect-Oriented Linearizability Proofs. In CONCUR. 242-256. Viktor Vafeiadis, Maurice Herlihy, Tony Hoare, and Marc Shapiro. 2006. A safety proof of a lazy concurrent list-based set implementation. Technical Report UCAM-CL-TR-659. University of Cambridge, Computer Laboratory. Pedro da Rocha Pinto, Thomas Dinsdale-Young, and Philippa Gardner. 2014. 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. https://doi.org/10.1007/978-3-662-44202-9_9 10.1007/978-3-662-44202-9_9 P. W. O'Hearn, N. Rinetzky, M. T. Vechev, E. Yahav, and G. Yorsh. 2010. Verifying Linearizability with Hindsight. In PODC 2010. Tudor David, Rachid Guerraoui, and Vasileios Trigonakis. 2015. Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures. In ASPLOS 2015. Peter W. O'Hearn. 2004. Resources, Concurrency and Local Reasoning. In CONCUR 2004-Concurrency Theory, 15th International Conference, London, UK, August 31-September 3, 2004, Proceedings. 49-67. https://doi.org/10.1007/978-3-540-28644-8_4 10.1007/978-3-540-28644-8_4 Kfir Lev-Ari, Gregory V. Chockler, and Idit Keidar. 2015a. A Constructive Approach for Proving Data Structures' Linearizability. In DISC 205. Trevor Brown, Faith Ellen, and Eric Ruppert. 2014. A General Technique for Non-blocking Trees. In PPoPP 2014. Hongjin Liang and Xinyu Feng. 2013. Modular verification of linearizability with non-fixed linearization points. In ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '13, Seattle, WA, USA, June 16-19, 2013. 459-470. Yandong Mao, Eddie Kohler, and Robert Tappan Morris. 2012. Cache Craftiness for Fast Multicore Key-value Storage. In EuroSys 2012. Viktor Vafeiadis, Maurice Herlihy, Tony Hoare, and Marc Shapiro. 2016. Proving correctness of highly-concurrent linearisable objects. In PPOPP '06. ACM, 129-136. Clif B. Jones. 1983. Specification and Design of (Parallel) Programs. In IFIP Congress. 321-332. Austin T. Clements, M. Frans Kaashoek, and Nickolai Zeldovich. 2012. Scalable address spaces using RCU balanced trees. In ASPLOS 2012. Stephen D. Brookes. 2004. A Semantics for Concurrent Separation Logic. In CONCUR 2004-Concurrency Theory, 15th International Conference, London, UK, August 31-September 3, 2004, Proceedings. 16-34. https://doi.org/10.1007/978-3-540-28644-8_2 10.1007/978-3-540-28644-8_2 Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco, and Ignacio Fábregas. 2019. Specifying concurrent programs in separation logic: morphisms and simulations. Proc. ACM Program. Lang. 3, OOPSLA ( 2019 ), 161 : 1-161 : 30. https://doi.org/10.1145/3360587 10.1145/3360587 Ilya Sergey, Aleksandar Nanevski, and Anindya Banerjee. 2015. Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity. In 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. 333-358. https://doi.org/10.1007/978-3-662-46669-8_14 10.1007/978-3-662-46669-8_14 Arunmoezhi Ramachandran and Neeraj Mittal. 2015. A Fast Lock-Free Internal Binary Search Tree. In ICDCN 2015. Nathan G. Bronson, Jared Casper, Hassan Chafi, and Kunle Olukotun. 2010. A Practical Concurrent Binary Search Tree. In PPoPP 2010. Daphna Amit, Noam Rinetzky, Thomas W. Reps, Mooly Sagiv, and Eran Yahav. 2007. Comparison Under Abstraction for Verifying Linearizability. In CAV '07 (LNCS), Vol. 4590. 477-490. Viktor Vafeiadis. 2010. Automatically Proving Linearizability. In Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, UK, July 15-19, 2010. Proceedings (Lecture Notes in Computer Science), Tayssir Touili, Byron Cook, and Paul B. Jackson (Eds.), Vol. 6174. Springer, 450-464. https://doi.org/10.1007/978-3-642-14295-6_40 10.1007/978-3-642-14295-6_40 Mathieu Desnoyers, Paul E. McKenney, Alan S. Stern, Michel R. Dagenais, and Jonathan Walpole. 2012. User-Level Implementations of Read-Copy Update. IEEE Trans. Parallel Distrib. Syst. 23, 2 ( 2012 ), 375-382. Stephen Tu, Wenting Zheng, Eddie Kohler, Barbara Liskov, and Samuel Madden. 2013. Speedy Transactions in Multicore In-memory Databases. In SOSP 2013. Tyler Crain, Vincent Gramoli, and Michel Raynal. 2013a. A Contention-Friendly Binary Search Tree. In Euro-Par 2013. Matthew J. Parkinson, Richard Bornat, and Peter W. O'Hearn. 2007. Modular verification of a non-blocking stack. In Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2007, Nice, France, January 17-19, 2007. 297-302. https://doi.org/10.1145/1190216.1190261 10.1145/1190216.1190261 Faith Ellen, Panagiota Fatourou, Eric Ruppert, and Franck van Breugel. 2010. Non-blocking Binary Search Trees. In PODC 2010. Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison, Aleksandar Nanevski, Noam Rinetzky, and Sharon Shoham. 2020. Proving Highly-Concurrent Traversals Correct. CoRR ( 2020 ). https://arxiv.org/abs/ 2010.00911 Maya Arbel and Hagit Attiya. 2014. Concurrent Updates with RCU: Search Tree As an Example. In PODC 2014. Susan S. Owicki and David Gries. 1976. Verifying Properties of Parallel Programs: An Axiomatic Approach. Commun. ACM 19, 5 ( 1976 ), 279-285. https://doi.org/10.1145/360051.360224 10.1145/360051.360224 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. 324-338. Tyler Crain, Vincent Gramoli, and Michel Raynal. 2013b. No Hot Spot Non-blocking Skip List. In ICDCS 2013. Dana Drachsler, Martin Vechev, and Eran Yahav. 2014. Practical Concurrent Binary Search Trees via Logical Ordering. In PPoPP 2014. 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 Maged M. Michael. 2002. High Performance Dynamic Lock-free Hash Tables and List-based Sets. In SPAA 2002. Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, Bill Scherer, and Nir Shavit. 2005. A Lazy Concurrent List-based Set Algorithm. In OPODIS 2005. Azalea Raad, Jules Villard, and Philippa Gardner. 2015. CoLoSL: Concurrent Local Subjective Logic. In 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. https: //doi.org/10.1007/978-3-662-46669-8_29 10.1007/978-3-662-46669-8_29 Shane V. Howley and Jeremy Jones. 2012. A Non-blocking Internal Binary Search Tree. In SPAA 2012. Tyler Crain, Vincent Gramoli, and Michel Raynal. 2016. A Fast Contention-Friendly Binary Search Tree. Parallel Processing Letters 26, 03 ( 2016 ). Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee, and Germán Andrés Delbianco. 2016. Hoare-style specifications as correctness conditions for non-linearizable concurrent objects. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016, Amsterdam, The Netherlands, October 30-November 4, 2016. 92-110. https://doi.org/10.1145/2983990.2983999 10.1145/2983990.2983999 Timothy L. Harris. 2001. A Pragmatic Implementation of Non-blocking Linked-Lists. In DISC 2001. He Zhu, Gustavo Petri, and Suresh Jagannathan. 2015. Poling: SMT Aided Linearizability Proofs. In Computer Aided Verification-27th International Conference, CAV 2015, San Francisco, CA, USA, July 18-24, 2015, Proceedings, Part II. 3-19. Richard Bornat, Cristiano Calcagno, Peter W. O'Hearn, and Matthew J. Parkinson. 2005. Permission accounting in separation logic. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, January 12-14, 2005. 259-270. https://doi.org/10.1145/1040305.1040327 10.1145/1040305.1040327 Maurice Herlihy, Yossi Lev, Victor Luchangco, and Nir Shavit. 2007. A Simple Optimistic Skiplist Algorithm. In SIROCCO 2007. Ruy Ley-Wild and Aleksandar Nanevski. 2013. Subjective auxiliary state for coarse-grained concurrency. In The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '13, Rome, Italy-January 23-25, 2013. 561-574. https://doi.org/10.11 e_1_2_2_4_1 Feldman Yotam M. Y. (e_1_2_2_22_1) 2018 e_1_2_2_6_1 Jones Clif B. (e_1_2_2_33_1) 1983 Amit Daphna (e_1_2_2_2_1) 2007; 4590 e_1_2_2_41_1 e_1_2_2_62_1 Vafeiadis Viktor (e_1_2_2_64_1) 2016 e_1_2_2_8_1 e_1_2_2_26_1 e_1_2_2_47_1 Abdulla Parosh Aziz (e_1_2_2_1_1) 2013 e_1_2_2_13_1 e_1_2_2_38_1 e_1_2_2_59_1 Zhu He (e_1_2_2_65_1) 2015 Bouajjani Ahmed (e_1_2_2_7_1) 2015 e_1_2_2_11_1 Triplett Josh (e_1_2_2_57_1) 2011 e_1_2_2_51_1 e_1_2_2_19_1 e_1_2_2_53_1 Tu Stephen (e_1_2_2_58_1) 2013 e_1_2_2_17_1 e_1_2_2_34_1 e_1_2_2_55_1 e_1_2_2_15_1 e_1_2_2_36_1 e_1_2_2_25_1 e_1_2_2_48_1 e_1_2_2_5_1 e_1_2_2_3_1 Crain Tyler (e_1_2_2_14_1) 2013 e_1_2_2_40_1 e_1_2_2_42_1 e_1_2_2_9_1 e_1_2_2_29_1 Ellen Faith (e_1_2_2_21_1) 2010 e_1_2_2_46_1 Feldman Yotam M. Y. (e_1_2_2_23_1) 2010 Henzinger Thomas A. (e_1_2_2_28_1) 2013 Herlihy Maurice (e_1_2_2_30_1) Heller Steve (e_1_2_2_27_1) 2005 e_1_2_2_37_1 e_1_2_2_12_1 e_1_2_2_39_1 e_1_2_2_10_1 Michael Maged M. (e_1_2_2_45_1) 2002 Dragoi Cezara (e_1_2_2_20_1) 2013 McKenney Paul E. (e_1_2_2_44_1) 1998 e_1_2_2_52_1 e_1_2_2_31_1 e_1_2_2_54_1 e_1_2_2_18_1 e_1_2_2_56_1 e_1_2_2_16_1 e_1_2_2_35_1 O'Hearn P. W. (e_1_2_2_49_1) 2010 Shane (e_1_2_2_32_1) 2012 e_1_2_2_50_1 Vafeiadis Viktor (e_1_2_2_61_1) 2009; 5403 |
| References_xml | – reference: Siddharth Krishna, Nisarg Patel, Dennis Shasha,, and Thomas Wies. 2020. Verifying Concurrent Search Structure Templates. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2010. ACM. – reference: Maged M. Michael. 2002. High Performance Dynamic Lock-free Hash Tables and List-based Sets. In SPAA 2002. – reference: Dennis E. Shasha and Nathan Goodman. 1988. Concurrent Search Structure Algorithms. ACM Trans. Database Syst. 13, 1 ( 1988 ), 53-90. – reference: Daphna Amit, Noam Rinetzky, Thomas W. Reps, Mooly Sagiv, and Eran Yahav. 2007. Comparison Under Abstraction for Verifying Linearizability. In CAV '07 (LNCS), Vol. 4590. 477-490. – reference: Keir Fraser. 2004. Practical lock-freedom. Ph.D. Dissertation. University of Cambridge, Computer Laboratory. – reference: Maurice Herlihy and Nir Shavit. 2008. The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. – reference: He Zhu, Gustavo Petri, and Suresh Jagannathan. 2015. Poling: SMT Aided Linearizability Proofs. In Computer Aided Verification-27th International Conference, CAV 2015, San Francisco, CA, USA, July 18-24, 2015, Proceedings, Part II. 3-19. – reference: Viktor Vafeiadis. 2010. Automatically Proving Linearizability. In Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, UK, July 15-19, 2010. Proceedings (Lecture Notes in Computer Science), Tayssir Touili, Byron Cook, and Paul B. Jackson (Eds.), 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: P. W. O'Hearn, N. Rinetzky, M. T. Vechev, E. Yahav, and G. Yorsh. 2010. Verifying Linearizability with Hindsight. In PODC 2010. – 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: Austin T. Clements, M. Frans Kaashoek, and Nickolai Zeldovich. 2012. Scalable address spaces using RCU balanced trees. In ASPLOS 2012. – reference: Tyler Crain, Vincent Gramoli, and Michel Raynal. 2013a. A Contention-Friendly Binary Search Tree. In Euro-Par 2013. – 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. 324-338. – reference: Maya Arbel and Hagit Attiya. 2014. Concurrent Updates with RCU: Search Tree As an Example. In PODC 2014. – reference: Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison, Aleksandar Nanevski, Noam Rinetzky, and Sharon Shoham. 2020. Proving Highly-Concurrent Traversals Correct. CoRR ( 2020 ). https://arxiv.org/abs/ 2010.00911 – reference: Ilya Sergey, Aleksandar Nanevski, and Anindya Banerjee. 2015. Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity. In 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. 333-358. https://doi.org/10.1007/978-3-662-46669-8_14 10.1007/978-3-662-46669-8_14 – 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: Viktor Vafeiadis. 2009. Shape-Value Abstraction for Verifying Linearizability. In VMCAI '09: Proc. 10th Intl. Conf. on Verification, Model Checking, and Abstract Interpretation (LNCS), Vol. 5403. Springer, 335-348. – reference: Ruy Ley-Wild and Aleksandar Nanevski. 2013. Subjective auxiliary state for coarse-grained concurrency. In The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '13, Rome, Italy-January 23-25, 2013. 561-574. https://doi.org/10.1145/2429069.2429134 10.1145/2429069.2429134 – reference: Aaron Turon, Derek Dreyer, and Lars Birkedal. 2013. Unifying refinement and hoare-style reasoning in a logic for higherorder concurrency. In ACM SIGPLAN International Conference on Functional Programming, ICFP'13, Boston, MA, USA-September 25-27, 2013. 377-390. https://doi.org/10.1145/2500365.2500600 10.1145/2500365.2500600 – reference: Arunmoezhi Ramachandran and Neeraj Mittal. 2015. A Fast Lock-Free Internal Binary Search Tree. In ICDCN 2015. – reference: Paul McKenney. 2004. Exploiting deferred destruction: an analysis of read-copy-update techniques in operating system kernels. Ph.D. Dissertation. OGI. – reference: Viktor Vafeiadis, Maurice Herlihy, Tony Hoare, and Marc Shapiro. 2016. Proving correctness of highly-concurrent linearisable objects. In PPOPP '06. ACM, 129-136. – reference: Paul E. McKenney and John D. Slingwine. 1998. Read-copy update: using execution history to solve concurrency problems. In PDCS. – reference: M. P. Herlihy and J. M. Wing. 1990. Linearizability: a correctness condition for concurrent objects. 12, 3 ( 1990 ). – reference: Vincent Gramoli. 2015. More than you ever wanted to know about synchronization: synchrobench, measuring the impact of the synchronization on concurrent algorithms. In PPoPP 2015. – reference: Dana Drachsler, Martin Vechev, and Eran Yahav. 2014. Practical Concurrent Binary Search Trees via Logical Ordering. In PPoPP 2014. – reference: Maurice Herlihy, Yossi Lev, Victor Luchangco, and Nir Shavit. 2007. A Simple Optimistic Skiplist Algorithm. In SIROCCO 2007. – reference: Kfir Lev-Ari, Gregory V. Chockler, and Idit Keidar. 2015a. A Constructive Approach for Proving Data Structures' Linearizability. In DISC 205. – reference: Kfir Lev-Ari, Gregory V. Chockler, and Idit Keidar. 2015b. A Constructive Approach for Proving Data Structures' Linearizability. In Distributed Computing-29th International Symposium, DISC 2015, Tokyo, Japan, October 7-9, 2015, Proceedings. 356-370. https://doi.org/10.1007/978-3-662-48653-5_24 10.1007/978-3-662-48653-5_24 – reference: Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Suha Orhun Mutluergil. 2017. Proving Linearizability Using Forward Simulations. In Computer Aided Verification-29th International Conference, CAV 2017, Heidelberg, Germany, July 24-28, 2017, Proceedings, Part II. 542-563. https://doi.org/10.1007/978-3-319-63390-9_28 10.1007/978-3-319-63390-9_28 – reference: Matthew J. Parkinson, Richard Bornat, and Peter W. O'Hearn. 2007. Modular verification of a non-blocking stack. In Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2007, Nice, France, January 17-19, 2007. 297-302. https://doi.org/10.1145/1190216.1190261 10.1145/1190216.1190261 – reference: Stephen D. Brookes. 2004. A Semantics for Concurrent Separation Logic. In CONCUR 2004-Concurrency Theory, 15th International Conference, London, UK, August 31-September 3, 2004, Proceedings. 16-34. https://doi.org/10.1007/978-3-540-28644-8_2 10.1007/978-3-540-28644-8_2 – reference: Siddharth Krishna, Dennis E. Shasha, and Thomas Wies. 2018. Go with the flow: compositional abstractions for concurrent data structures. PACMPL 2, POPL ( 2018 ), 37 : 1-37 : 31. https://doi.org/10.1145/3158125 10.1145/3158125 – reference: Yandong Mao, Eddie Kohler, and Robert Tappan Morris. 2012. Cache Craftiness for Fast Multicore Key-value Storage. In EuroSys 2012. – reference: Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco, and Ignacio Fábregas. 2019. Specifying concurrent programs in separation logic: morphisms and simulations. Proc. ACM Program. Lang. 3, OOPSLA ( 2019 ), 161 : 1-161 : 30. https://doi.org/10.1145/3360587 10.1145/3360587 – reference: Susan S. Owicki and David Gries. 1976. Verifying Properties of Parallel Programs: An Axiomatic Approach. Commun. ACM 19, 5 ( 1976 ), 279-285. https://doi.org/10.1145/360051.360224 10.1145/360051.360224 – reference: Shane V. Howley and Jeremy Jones. 2012. A Non-blocking Internal Binary Search Tree. In SPAA 2012. – reference: Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee, and Germán Andrés Delbianco. 2016. Hoare-style specifications as correctness conditions for non-linearizable concurrent objects. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016, Amsterdam, The Netherlands, October 30-November 4, 2016. 92-110. https://doi.org/10.1145/2983990.2983999 10.1145/2983990.2983999 – reference: Peter W. O'Hearn. 2004. Resources, Concurrency and Local Reasoning. In CONCUR 2004-Concurrency Theory, 15th International Conference, London, UK, August 31-September 3, 2004, Proceedings. 49-67. https://doi.org/10.1007/978-3-540-28644-8_4 10.1007/978-3-540-28644-8_4 – reference: Tudor David, Rachid Guerraoui, and Vasileios Trigonakis. 2015. Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures. In ASPLOS 2015. – reference: Timothy L. Harris. 2001. A Pragmatic Implementation of Non-blocking Linked-Lists. In DISC 2001. – reference: Viktor Vafeiadis, Maurice Herlihy, Tony Hoare, and Marc Shapiro. 2006. A safety proof of a lazy concurrent list-based set implementation. Technical Report UCAM-CL-TR-659. University of Cambridge, Computer Laboratory. – reference: Aravind Natarajan and Neeraj Mittal. 2014. Fast Concurrent Lock-free Binary Search Trees. In PPoPP 2014. – 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 2018. – reference: Cezara Dragoi, Ashutosh Gupta, and Thomas A. Henzinger. 2013. Automatic Linearizability Proofs of Concurrent Objects with Cooperating Updates. In CAV '13 (LNCS), Vol. 8044. Springer, 174-190. – reference: Hongjin Liang and Xinyu Feng. 2013. Modular verification of linearizability with non-fixed linearization points. In ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '13, Seattle, WA, USA, June 16-19, 2013. 459-470. – reference: Stephen Tu, Wenting Zheng, Eddie Kohler, Barbara Liskov, and Samuel Madden. 2013. Speedy Transactions in Multicore In-memory Databases. In SOSP 2013. – reference: Clif B. Jones. 1983. Specification and Design of (Parallel) Programs. In IFIP Congress. 321-332. – reference: Trevor Brown, Faith Ellen, and Eric Ruppert. 2014. A General Technique for Non-blocking Trees. In PPoPP 2014. – reference: Mathieu Desnoyers, Paul E. McKenney, Alan S. Stern, Michel R. Dagenais, and Jonathan Walpole. 2012. User-Level Implementations of Read-Copy Update. IEEE Trans. Parallel Distrib. Syst. 23, 2 ( 2012 ), 375-382. – reference: Pedro da Rocha Pinto, Thomas Dinsdale-Young, and Philippa Gardner. 2014. 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. https://doi.org/10.1007/978-3-662-44202-9_9 10.1007/978-3-662-44202-9_9 – reference: Thomas A. Henzinger, Ali Sezgin, and Viktor Vafeiadis. 2013. Aspect-Oriented Linearizability Proofs. In CONCUR. 242-256. – reference: Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Jad Hamza. 2013. Verifying Concurrent Programs against Sequential Specifications. In ESOP '13 (LNCS), Vol. 7792. Springer, 290-309. – reference: Ahmed Bouajjani, Michael Emmi, Constantin Enea, and Jad Hamza. 2015. On Reducing Linearizability to State Reachability. In Automata, Languages, and Programming-42nd International Colloquium, ICALP 2015, Kyoto, Japan, July 6-10, 2015, Proceedings, Part II. 95-107. – reference: V. Vafeiadis. 2008. Modular fine-grained concurrency verification. Ph.D. Dissertation. University of Cambridge. – reference: Hagit Attiya, G. Ramalingam, and Noam Rinetzky. 2010. Sequential verification of serializability. In Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2010, Madrid, Spain, January 17-23, 2010. 31-42. https://doi.org/10.1145/1706299.1706305 10.1145/1706299.1706305 – reference: Azalea Raad, Jules Villard, and Philippa Gardner. 2015. CoLoSL: Concurrent Local Subjective Logic. In 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. https: //doi.org/10.1007/978-3-662-46669-8_29 10.1007/978-3-662-46669-8_29 – reference: Josh Triplett, Paul E. McKenney, and Jonathan Walpole. 2011. Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming. In USENIX ATC 2011. – reference: Faith Ellen, Panagiota Fatourou, Eric Ruppert, and Franck van Breugel. 2010. Non-blocking Binary Search Trees. In PODC 2010. – reference: Tyler Crain, Vincent Gramoli, and Michel Raynal. 2013b. No Hot Spot Non-blocking Skip List. In ICDCS 2013. – reference: Tyler Crain, Vincent Gramoli, and Michel Raynal. 2016. A Fast Contention-Friendly Binary Search Tree. Parallel Processing Letters 26, 03 ( 2016 ). – reference: Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, Bill Scherer, and Nir Shavit. 2005. A Lazy Concurrent List-based Set Algorithm. In OPODIS 2005. – reference: Richard Bornat, Cristiano Calcagno, Peter W. O'Hearn, and Matthew J. Parkinson. 2005. Permission accounting in separation logic. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, January 12-14, 2005. 259-270. https://doi.org/10.1145/1040305.1040327 10.1145/1040305.1040327 – reference: Nathan G. Bronson, Jared Casper, Hassan Chafi, and Kunle Olukotun. 2010. A Practical Concurrent Binary Search Tree. In PPoPP 2010. – ident: e_1_2_2_35_1 doi: 10.1145/3371113 – ident: e_1_2_2_41_1 doi: 10.1145/2491956.2462189 – ident: e_1_2_2_34_1 doi: 10.1017/S0956796818000151 – volume-title: USENIX ATC year: 2011 ident: e_1_2_2_57_1 – volume-title: Slingwine year: 1998 ident: e_1_2_2_44_1 – ident: e_1_2_2_53_1 doi: 10.1145/2684464.2684472 – ident: e_1_2_2_12_1 doi: 10.1145/2150976.2150998 – volume-title: Henzinger year: 2013 ident: e_1_2_2_20_1 – ident: e_1_2_2_26_1 doi: 10.5555/645958.676105 – ident: e_1_2_2_54_1 doi: 10.1007/978-3-662-46669-8_14 – ident: e_1_2_2_11_1 doi: 10.1145/2555243.2555267 – ident: e_1_2_2_47_1 doi: 10.1145/2555243.2555256 – ident: e_1_2_2_17_1 doi: 10.1145/2694344.2694359 – ident: e_1_2_2_6_1 doi: 10.1007/978-3-642-37036-6_17 – ident: e_1_2_2_25_1 doi: 10.1145/2688500.2688501 – ident: e_1_2_2_40_1 doi: 10.1145/2429069.2429134 – start-page: 129 volume-title: PPOPP '06 year: 2016 ident: e_1_2_2_64_1 – volume-title: No Hot Spot Non-blocking Skip List. In ICDCS year: 2013 ident: e_1_2_2_14_1 – start-page: 242 year: 2013 ident: e_1_2_2_28_1 article-title: Aspect-Oriented Linearizability Proofs publication-title: CONCUR. – ident: e_1_2_2_31_1 doi: 10.1145/78969.78972 – ident: e_1_2_2_3_1 doi: 10.1145/2611462.2611471 – volume-title: Non-blocking Binary Search Trees. In PODC year: 2010 ident: e_1_2_2_21_1 – volume-title: High Performance Dynamic Lock-free Hash Tables and List-based Sets. In SPAA year: 2002 ident: e_1_2_2_45_1 – volume: 5403 start-page: 335 volume-title: Shape-Value Abstraction for Verifying Linearizability. In VMCAI '09: Proc. 10th Intl. Conf. on Verification, Model Checking, and Abstract Interpretation (LNCS) year: 2009 ident: e_1_2_2_61_1 doi: 10.1007/978-3-540-93900-9_27 – ident: e_1_2_2_8_1 doi: 10.1007/978-3-319-63390-9_28 – volume: 4590 start-page: 477 volume-title: Comparison Under Abstraction for Verifying Linearizability. In CAV '07 (LNCS) year: 2007 ident: e_1_2_2_2_1 – ident: e_1_2_2_5_1 doi: 10.1145/1040305.1040327 – ident: e_1_2_2_51_1 doi: 10.1145/1190216.1190261 – ident: e_1_2_2_37_1 doi: 10.1145/3158125 – start-page: 324 year: 2013 ident: e_1_2_2_1_1 article-title: An Integrated Specification and Verification Technique for Highly Concurrent Data Structures publication-title: TACAS. – ident: e_1_2_2_29_1 doi: 10.5555/1760631.1760646 – volume-title: ICALP 2015, Kyoto, Japan, July 6-10, 2015, Proceedings, Part II. 95-107 year: 2015 ident: e_1_2_2_7_1 – ident: e_1_2_2_13_1 doi: 10.1007/978-3-642-40047-6_25 – ident: e_1_2_2_42_1 doi: 10.1145/2168836.2168855 – ident: e_1_2_2_55_1 doi: 10.1145/2983990.2983999 – ident: e_1_2_2_19_1 doi: 10.1145/2555243.2555269 – volume-title: Proving Highly-Concurrent Traversals Correct. CoRR ( 2020 ). https://arxiv.org/abs/ year: 2010 ident: e_1_2_2_23_1 – ident: e_1_2_2_36_1 doi: 10.1145/3385412.3386029 – ident: e_1_2_2_39_1 doi: 10.1007/978-3-662-48653-5_24 – ident: e_1_2_2_48_1 doi: 10.1007/978-3-540-28644-8_4 – ident: e_1_2_2_46_1 doi: 10.1145/3360587 – ident: e_1_2_2_10_1 doi: 10.1007/978-3-540-28644-8_2 – ident: e_1_2_2_59_1 doi: 10.1145/2500365.2500600 – volume-title: SPAA year: 2012 ident: e_1_2_2_32_1 – volume-title: The Art of Multiprocessor Programming ident: e_1_2_2_30_1 – ident: e_1_2_2_50_1 doi: 10.1145/360051.360224 – volume-title: Poling: SMT Aided Linearizability Proofs. In Computer Aided Verification-27th International Conference, CAV 2015, San Francisco, CA, USA, July 18-24, 2015, Proceedings, Part II. 3-19 year: 2015 ident: e_1_2_2_65_1 – ident: e_1_2_2_9_1 doi: 10.1145/1693453.1693488 – ident: e_1_2_2_4_1 doi: 10.1145/1706299.1706305 – volume-title: Specification and Design of (Parallel) Programs. In IFIP Congress. 321-332 year: 1983 ident: e_1_2_2_33_1 – ident: e_1_2_2_16_1 doi: 10.1007/978-3-662-44202-9_9 – volume-title: OPODIS year: 2005 ident: e_1_2_2_27_1 – ident: e_1_2_2_52_1 doi: 10.1007/978-3-662-46669-8_29 – volume-title: DISC year: 2018 ident: e_1_2_2_22_1 – ident: e_1_2_2_38_1 doi: 10.1007/978-3-662-48653-5_24 – ident: e_1_2_2_18_1 doi: 10.1109/TPDS.2011.159 – ident: e_1_2_2_56_1 doi: 10.1145/42201.42204 – ident: e_1_2_2_62_1 doi: 10.1007/978-3-642-14295-6_40 – volume-title: Speedy Transactions in Multicore In-memory Databases. In SOSP year: 2013 ident: e_1_2_2_58_1 – ident: e_1_2_2_15_1 doi: 10.1142/S0129626416500158 – volume-title: Verifying Linearizability with Hindsight. In PODC year: 2010 ident: e_1_2_2_49_1 |
| SSID | ssj0001934839 |
| Score | 2.2643263 |
| Snippet | Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data... |
| SourceID | crossref acm |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 1 |
| SubjectTerms | Concurrent algorithms Design and analysis of algorithms Program reasoning Semantics and reasoning Theory of computation |
| SubjectTermsDisplay | Theory of computation -- Design and analysis of algorithms -- Concurrent algorithms Theory of computation -- Semantics and reasoning -- Program reasoning |
| Title | Proving highly-concurrent traversals correct |
| URI | https://dl.acm.org/doi/10.1145/3428196 |
| Volume | 4 |
| WOSCitedRecordID | wos000685203900005&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/eLvHCXMwtV07T8MwELZ4DSy8EeWlDIgFAq3txPFYVSAGCpUACabKj0QgtQG1ARUGfjvnR9rwGGBgiSLHcZR8zvnufPcdQnsSFgmWSRmKFH43qkgcirqkYRKLBAtcT7iwSJ-zi4vk9pZ3fO7J0JYTYHmejEb86V-hhjYA26TO_gHu8aDQAOcAOhwBdjj-CviOdxIYIuLeawj2rvIcTIUpNTQYGsJkZYpyqE9--c54KbPRHc1W22wk-Pitvhmx9G1OUkbSnvYe1LvHQvQP2kcHd0djGX7_-ua2k5qD0kNsdPc8tY0tp5mW1N8u8NdWRLS3aNGveiTA_DRRcaQyh3yUu5VimLIobFCXBl2KXFqZWZeXnavzZkWGNiqLsfOGfBfz1DBiEGp2Ab8Qaful2V6ZRrOYRdxE-rXfK643TijohS6F2ox17PsbDUX1KxpKRdW4XkIL3kYImg7bZTSV5itosay_EXhxvIoOPdTBN6iDCdSBh3oN3ZyeXLfOQl_9IhSYsSLUmGYyU5hjEYNNKEiqeJxlDSkxj3QWK6lAfOoE8wYWhFDJYzAWIzDviWYqFmQdzeSPebqBAq6ppljquog0KOixzFLMDBMelqDO63oNrcB7d58cv0nXf40a2i-_Q1d5wnhTt6TXdcns0aRjMO5YjvGly-aPT9hC85P5s41misFzuoPm1EvxMBzsWtA-AI4FVto |
| 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=Proving+highly-concurrent+traversals+correct&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Feldman%2C+Yotam+M.+Y.&rft.au=Khyzha%2C+Artem&rft.au=Enea%2C+Constantin&rft.au=Morrison%2C+Adam&rft.date=2020-11-13&rft.pub=ACM&rft.eissn=2475-1421&rft.volume=4&rft.issue=OOPSLA&rft.spage=1&rft.epage=29&rft_id=info:doi/10.1145%2F3428196&rft.externalDocID=3428196 |
| 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 |