{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,9]],"date-time":"2026-01-09T23:19:01Z","timestamp":1768000741294,"version":"3.49.0"},"publisher-location":"Cham","reference-count":31,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031505201","type":"print"},{"value":"9783031505218","type":"electronic"}],"license":[{"start":{"date-parts":[[2023,12,30]],"date-time":"2023-12-30T00:00:00Z","timestamp":1703894400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,12,30]],"date-time":"2023-12-30T00:00:00Z","timestamp":1703894400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024]]},"DOI":"10.1007\/978-3-031-50521-8_2","type":"book-chapter","created":{"date-parts":[[2023,12,29]],"date-time":"2023-12-29T08:03:15Z","timestamp":1703836995000},"page":"26-47","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["A Fully Verified Persistency Library"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4596-2305","authenticated-orcid":false,"given":"Stefan","family":"Bodenm\u00fcller","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6631-8914","authenticated-orcid":false,"given":"John","family":"Derrick","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0446-3507","authenticated-orcid":false,"given":"Brijesh","family":"Dongol","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6712-7178","authenticated-orcid":false,"given":"Gerhard","family":"Schellhorn","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2385-7512","authenticated-orcid":false,"given":"Heike","family":"Wehrheim","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,12,30]]},"reference":[{"key":"2_CR1","doi-asserted-by":"publisher","unstructured":"Assa, G., Correia, A., Ramalhete, P., Schiavoni, V., Felber, P.: Tl4x: buffered durable transactions on disk as fast as in memory. In: Dehnavi, M.M., Kulkarni, M., Krishnamoorthy, S. (eds.) PPoPP, pp. 245\u2013259. ACM (2023). https:\/\/doi.org\/10.1145\/3572848.3577495","DOI":"10.1145\/3572848.3577495"},{"key":"2_CR2","doi-asserted-by":"publisher","unstructured":"Bila, E., Derrick, J., Doherty, S., Dongol, B., Schellhorn, G., Wehrheim, H.: Modularising verification of durable opacity. Log. Methods Comput. Sci. 18(3) (2022). https:\/\/doi.org\/10.46298\/lmcs-18(3:7)2022","DOI":"10.46298\/lmcs-18(3:7)2022"},{"key":"2_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1007\/978-3-030-50086-3_3","volume-title":"Formal Techniques for Distributed Objects, Components, and Systems","author":"E Bila","year":"2020","unstructured":"Bila, E., Doherty, S., Dongol, B., Derrick, J., Schellhorn, G., Wehrheim, H.: Defining and verifying durable opacity: correctness for persistent software transactional memory. In: Gotsman, A., Sokolova, A. (eds.) FORTE 2020. LNCS, vol. 12136, pp. 39\u201358. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-50086-3_3"},{"key":"2_CR4","doi-asserted-by":"publisher","unstructured":"Bodenm\u00fcller, S., Derrick, J., Dongol, B., Schellhorn, G., Wehrheim, H.: Verification of FLIT refinements - KIV proofs (2023). https:\/\/kiv.isse.de\/projects\/FLIT.html. Executable artifact. https:\/\/doi.org\/10.6084\/m9.figshare.24132495.v1","DOI":"10.6084\/m9.figshare.24132495.v1"},{"issue":"10","key":"2_CR5","doi-asserted-by":"publisher","first-page":"433","DOI":"10.1145\/2714064.2660224","volume":"49","author":"DR Chakrabarti","year":"2014","unstructured":"Chakrabarti, D.R., Boehm, H.-J., Bhandari, K.: Atlas: leveraging locks for non-volatile memory consistency. ACM SIGPLAN Not. 49(10), 433\u2013452 (2014)","journal-title":"ACM SIGPLAN Not."},{"key":"2_CR6","doi-asserted-by":"crossref","unstructured":"Cho, K., Lee, S.-H., Raad, A., Kang, J.: Revamping hardware persistency models: view-based and axiomatic persistency models for Intel-x86 and Armv8. In: PLDI, pp. 16\u201331 (2021)","DOI":"10.1145\/3453483.3454027"},{"key":"2_CR7","unstructured":"Choe, J.: Review and things to know: flash memory summit 2022. TechInsights, August 2022. https:\/\/www.techinsights.com\/blog\/review-and-things-know-flash-memory-summit-2022"},{"key":"2_CR8","doi-asserted-by":"crossref","unstructured":"de Roever, W.P., Engelhardt, K.: Data Refinement: Model-Oriented Proof Theories and Their Comparison. Cambridge Tracts in Theoretical Computer Science, vol. 46. Cambridge University Press (1998)","DOI":"10.1017\/CBO9780511663079"},{"key":"2_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"179","DOI":"10.1007\/978-3-030-30942-8_12","volume-title":"Formal Methods \u2013 The Next 30 Years","author":"J Derrick","year":"2019","unstructured":"Derrick, J., Doherty, S., Dongol, B., Schellhorn, G., Wehrheim, H.: Verifying correctness of persistent concurrent data structures. In: ter Beek, M.H., McIver, A., Oliveira, J.N. (eds.) FM 2019. LNCS, vol. 11800, pp. 179\u2013195. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-30942-8_12"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Derrick, J., Doherty, S., Dongol, B., Schellhorn, G., Wehrheim, H.: Verifying correctness of persistent concurrent data structures: a sound and complete method. Formal Aspects Comput. 33(4\u20135), 547\u2013573 (2021). https:\/\/link.springer.com\/article\/10.1007\/s00165-021-00541-8","DOI":"10.1007\/s00165-021-00541-8"},{"key":"2_CR11","doi-asserted-by":"publisher","unstructured":"D\u2019Osualdo, E., Raad, A., Vafeiadis, V.: The path to durable linearizability. Proc. ACM Program. Lang. 7(POPL), 748\u2013774 (2023). https:\/\/doi.org\/10.1145\/3571219","DOI":"10.1145\/3571219"},{"key":"2_CR12","doi-asserted-by":"publisher","unstructured":"Friedman, M., Ben-David, N., Wei, Y., Blelloch, G.E., Petrank, E.: NVTraverse: in NVRAM data structures, the destination is more important than the journey. In: Donaldson, A.F., Torlak, E. (eds.) PLDI, pp. 377\u2013392. ACM (2020). https:\/\/doi.org\/10.1145\/3385412.3386031","DOI":"10.1145\/3385412.3386031"},{"key":"2_CR13","doi-asserted-by":"publisher","unstructured":"Friedman, M., Petrank, E., Ramalhete, P.: Mirror: making lock-free data structures persistent. In: Freund, S.N., Yahav, E. (eds.) PLDI, pp. 1218\u20131232. ACM (2021). https:\/\/doi.org\/10.1145\/3453483.3454105","DOI":"10.1145\/3453483.3454105"},{"issue":"3","key":"2_CR14","doi-asserted-by":"publisher","first-page":"463","DOI":"10.1145\/78969.78972","volume":"12","author":"M Herlihy","year":"1990","unstructured":"Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM TOPLAS 12(3), 463\u2013492 (1990)","journal-title":"ACM TOPLAS"},{"key":"2_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"313","DOI":"10.1007\/978-3-662-53426-7_23","volume-title":"Distributed Computing","author":"J Izraelevitz","year":"2016","unstructured":"Izraelevitz, J., Mendes, H., Scott, M.L.: Linearizability of persistent memory objects under a full-system-crash failure model. In: Gavoille, C., Ilcinkas, D. (eds.) DISC 2016. LNCS, vol. 9888, pp. 313\u2013327. Springer, Heidelberg (2016). https:\/\/doi.org\/10.1007\/978-3-662-53426-7_23"},{"key":"2_CR16","doi-asserted-by":"publisher","unstructured":"Khyzha, A., Lahav, O.: Taming x86-TSO persistency. Proc. ACM Program. Lang. 5(POPL), 1\u201329 (2021). https:\/\/doi.org\/10.1145\/3434328","DOI":"10.1145\/3434328"},{"issue":"9","key":"2_CR17","doi-asserted-by":"publisher","first-page":"690","DOI":"10.1109\/TC.1979.1675439","volume":"28","author":"L Lamport","year":"1979","unstructured":"Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. 28(9), 690\u2013691 (1979)","journal-title":"IEEE Trans. Comput."},{"issue":"2","key":"2_CR18","doi-asserted-by":"publisher","first-page":"214","DOI":"10.1006\/inco.1995.1134","volume":"121","author":"N Lynch","year":"1995","unstructured":"Lynch, N., Vaandrager, F.: Forward and backward simulations. Inf. Comput. 121(2), 214\u2013233 (1995)","journal-title":"Inf. Comput."},{"key":"2_CR19","unstructured":"Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann (1996)"},{"key":"2_CR20","doi-asserted-by":"crossref","unstructured":"Lynch, N.A., Tuttle, M.R.: Hierarchical correctness proofs for distributed algorithms. In: PODC, pp. 137\u2013151. ACM, New York, NY, USA (1987)","DOI":"10.1145\/41840.41852"},{"key":"2_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"391","DOI":"10.1007\/978-3-642-03359-9_27","volume-title":"Theorem Proving in Higher Order Logics","author":"S Owens","year":"2009","unstructured":"Owens, S., Sarkar, S., Sewell, P.: A better x86 memory model: x86-TSO. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 391\u2013407. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-03359-9_27"},{"key":"2_CR22","doi-asserted-by":"publisher","unstructured":"Pulte, C., Pichon-Pharabod, J., Kang, J., Lee, S.-H., Hur, C.-K.: Promising-ARM\/RISC-V: a simpler and faster operational concurrency model. In: McKinley, K.S., Fisher, K. (eds.) PLDI, pp. 1\u201315. ACM (2019). https:\/\/doi.org\/10.1145\/3314221.3314624","DOI":"10.1145\/3314221.3314624"},{"key":"2_CR23","doi-asserted-by":"publisher","unstructured":"Raad, A., Wickerson, J., Neiger, G., Vafeiadis, V.: Persistency semantics of the Intel-x86 architecture. Proc. ACM Program. Lang. 4(POPL), 11:1\u201311:31 (2020). https:\/\/doi.org\/10.1145\/3371079","DOI":"10.1145\/3371079"},{"key":"2_CR24","doi-asserted-by":"crossref","unstructured":"Raad, A., Wickerson, J., Vafeiadis, V.: Weak persistency semantics from the ground up: formalising the persistency semantics of ARMv8 and transactional models. PACMPL 3(OOPSLA), 135:1\u2013135:27 (2019)","DOI":"10.1145\/3360561"},{"key":"2_CR25","unstructured":"Samsung Electronics: Samsung electronics unveils far-reaching, next-generation memory solutions at flash memory summit 2022, August 2022. https:\/\/news.samsung.com\/global\/samsung-electronics-unveils-far-reaching-next-generation-memory-solutions-at-flash-memory-summit-2022"},{"key":"2_CR26","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4842-4932-1","volume-title":"Programming Persistent Memory","author":"S Scargall","year":"2020","unstructured":"Scargall, S.: Programming Persistent Memory. Apress, Berkeley, CA (2020). https:\/\/doi.org\/10.1007\/978-1-4842-4932-1"},{"key":"2_CR27","doi-asserted-by":"publisher","unstructured":"Schellhorn, G., Bodenm\u00fcller, S., Reif, W.: Thread-local, step-local proof obligations for refinement of state-based concurrent systems. In: Gl\u00e4sser, U., Creissac Campos, J., M\u00e9ry, D., Palanque, P. (eds.) ABZ 2023: Rigorous State-Based Methods. LNCS, vol. 14010, pp. 408\u2013436. Springer, Cham (2023). https:\/\/doi.org\/10.1007\/978-3-031-33163-3_6","DOI":"10.1007\/978-3-031-33163-3_6"},{"key":"2_CR28","doi-asserted-by":"publisher","unstructured":"Schellhorn, G., Bodenm\u00fcller, S., Bitterlich, M., Reif, W.: Software & system verification with KIV. In: Ahrendt, W., Beckert, B., Bubel, R., Johnsen, E.B. (eds.) The Logic of Software. A Tasting Menu of Formal Methods. LNCS, vol. 13360, pp. 408\u2013436. Springer, Cham (2022). https:\/\/doi.org\/10.1007\/978-3-031-08166-8_20","DOI":"10.1007\/978-3-031-08166-8_20"},{"issue":"2","key":"2_CR29","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1007\/s004460050028","volume":"10","author":"N Shavit","year":"1997","unstructured":"Shavit, N., Touitou, D.: Software transactional memory. Distrib. Comput. 10(2), 99\u2013116 (1997)","journal-title":"Distrib. Comput."},{"key":"2_CR30","doi-asserted-by":"publisher","unstructured":"Wei, Y., Ben-David, N., Friedman, M., Blelloch, G.E., Petrank, E.: FliT: a library for simple and efficient persistent algorithms. In: Lee, J., Agrawal, K., Spear, M.F. (eds.) PPoPP, pp. 309\u2013321. ACM (2022). https:\/\/doi.org\/10.1145\/3503221.3508436","DOI":"10.1145\/3503221.3508436"},{"key":"2_CR31","doi-asserted-by":"publisher","unstructured":"Wen, H., Cai, W., Du, M., Jenkins, L., Valpey, B., Scott, M.L.: A fast, general system for buffered persistent data structures. In: Sun, X.-H., Shende, S., Kal\u00e9, L.V., Chen, Y. (eds.) ICPP, pp. 73:1\u201373:11. ACM (2021). https:\/\/doi.org\/10.1145\/3472456.3472458","DOI":"10.1145\/3472456.3472458"}],"container-title":["Lecture Notes in Computer Science","Verification, Model Checking, and Abstract Interpretation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-50521-8_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,1,3]],"date-time":"2024-01-03T00:08:27Z","timestamp":1704240507000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-50521-8_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,12,30]]},"ISBN":["9783031505201","9783031505218"],"references-count":31,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-50521-8_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,12,30]]},"assertion":[{"value":"30 December 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"VMCAI","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Verification, Model Checking, and Abstract Interpretation","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"London","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"United Kingdom","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"15 January 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16 January 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"vmcai2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/popl24.sigplan.org\/home\/VMCAI-2024","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"74","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"30","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"41% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}