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

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of ACM on programming languages Vol. 4; no. OOPSLA; pp. 1 - 29
Main Authors: Feldman, Yotam M. Y., Khyzha, Artem, Enea, Constantin, Morrison, Adam, Nanevski, Aleksandar, Rinetzky, Noam, Shoham, Sharon
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/eLvHCXMwtV1Lb9QwELaWwoELjwJieSkHxKVkSRw_1sfVCsSBbVeiSO1p5YxtUWk3rbahakHitzOOnWzYVgIOXKzIsq3EMxnPjGe-IeQ1BxBOgUhdxk3KcpmnJWQ21dQa1F4zy13WFJuQ-_vjoyM1Hwx-tLkwF0tZVePLS3X2X0mNfUhsnzr7D-TuFsUOfEaiY4tkx_avCD-PTgIPRLy8StHehYjBVPtSQ-tzD5gMvigH_OaXn3dHWRPdMZnO_EVCjN9a-RVb3-YmZcQuTfSgHp_WerU3G-0djzoZ_vXqe7hOmqxbD7HX3SvbdE6DZtpCf4fA36YiYjPF6FXfI4Hmp4-KKzaCizLJ05yFzOeRvaEvSl7WY7CDg_nnT5OeKM17Z3JwilyX9swDYxTMXwbegKe9dc510YchF5sv4sRb5DaVXPl4wNnPnoNOFWzcVKLr3j0kXfu57-Jcr9PAqqfT9JSTwwfkXrQqkknghodkYKtdcr-t2JFEAf6IvI3MkVxjjmTDHElkjsfky4f3h9OPaayXgX-WlHVqKHOlA6qoFmhF6sKCEs7lZUkVN05ACShwzZiqnOqiYKUSaF5yxkRhJAhdPCE71Wlln5JE55kEB4ZLjUep4NoC98iSpS5B56CGZBe_e3EWEFHanRySN-0-LCBCzPtKJ8vF1pYPSdINbNfYGvLsz0Oek7sb9ntBdur1N_uS3IGL-uR8_aqh5i-VM2k7
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.issn=2475-1421&rft.eissn=2475-1421&rft.volume=4&rft.issue=OOPSLA&rft.spage=1&rft.epage=29&rft_id=info:doi/10.1145%2F3428196&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_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