{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,24]],"date-time":"2025-08-24T01:47:08Z","timestamp":1756000028979,"version":"3.37.3"},"reference-count":48,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2022,4,17]],"date-time":"2022-04-17T00:00:00Z","timestamp":1650153600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,4,17]],"date-time":"2022-04-17T00:00:00Z","timestamp":1650153600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100004281","name":"Narodowe Centrum Nauki","doi-asserted-by":"crossref","award":["DEC-2012\/07\/B\/ST6\/01230"],"award-info":[{"award-number":["DEC-2012\/07\/B\/ST6\/01230"]}],"id":[{"id":"10.13039\/501100004281","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Ministerstvo \u0160kolstv\u00ed, Ml\u00e1de\u017ee a Telov\u00fdchovy","award":["CZ.02.1.01\/0.0\/0.0\/15_003\/0000421"],"award-info":[{"award-number":["CZ.02.1.01\/0.0\/0.0\/15_003\/0000421"]}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Distrib. Comput."],"published-print":{"date-parts":[[2022,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p><jats:italic>Transaction Memory<\/jats:italic> (TM) is a concurrency control abstraction that allows the programmer to specify blocks of code to be executed atomically as transactions. However, since transactional code can contain just about any operation attention must be paid to the state of shared variables at any given time. E.g., contrary to a database transaction, if a TM transaction reads a stale value it may execute dangerous operations, like attempt to divide by zero, access an illegal memory address, or enter an infinite loop. Thus serializability is insufficient, and stronger safety properties are required in TM, which regulate what values can be read, even by transactions that abort. Hence, a number of TM safety properties were developed, including opacity, and TMS1 and TMS2. However, such strong properties preclude using prerelease as a technique for optimizing TM, because they virtually forbid reading from live transactions. On the other hand, properties that do allow prerelease are either not strong enough to prevent any of the problems mentioned above (recoverability), or add additional conditions on transactions that prerelease variables that limit their applicability (elastic opacity, live opacity, virtual world consistency). This paper introduces last-use opacity and strong last-use opacity, a pair of new TM safety properties meant to be a compromise between strong properties like opacity and minimal ones like serializability. The properties eliminate all but a small class of benign inconsistent views and pose no stringent conditions on transactions.\n<\/jats:p>","DOI":"10.1007\/s00446-022-00420-2","type":"journal-article","created":{"date-parts":[[2022,4,17]],"date-time":"2022-04-17T15:02:48Z","timestamp":1650207768000},"page":"265-301","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Last-use opacity: a strong safety property for transactional memory with prerelease support"],"prefix":"10.1007","volume":"35","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3599-2164","authenticated-orcid":false,"given":"Konrad","family":"Siek","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2008-278X","authenticated-orcid":false,"given":"Pawe\u0142 T.","family":"Wojciechowski","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,4,17]]},"reference":[{"key":"420_CR1","doi-asserted-by":"crossref","unstructured":"Afek, Y., Matveev, A., Shavit, N.: Pessimistic software lock-elision. In: Proceedings of\u00a0DISC\u201912: The 26th\u00a0International Symposium on Distributed Computing (2012)","DOI":"10.1007\/978-3-642-33651-5_21"},{"key":"420_CR2","doi-asserted-by":"crossref","unstructured":"Afek, Y., Morrison, A., Tzafrir, M.: Brief announcement: view transactions: transactional model with relaxed consistency checks. In: Proceedings of\u00a0PODC\u201910: The 29th\u00a0ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (2010)","DOI":"10.1145\/1835698.1835711"},{"key":"420_CR3","doi-asserted-by":"crossref","unstructured":"Attiya, H., Gotsman, A., Hans, S., Rinetzky, N.: A programming language perspective on transactional memory consistency. In: Proceedings of\u00a0PODC\u201913: The 32nd\u00a0ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (2013)","DOI":"10.1145\/2484239.2484267"},{"key":"420_CR4","doi-asserted-by":"crossref","unstructured":"Attiya, H., Gotsman, A., Hans, S., Rinetzky, N.: Safety of live transactions in transactional memory: TMS is necessary and sufficient. In: Proceedings of\u00a0DISC\u201914: The 28th\u00a0International Symposium on Distributed Computing (2014)","DOI":"10.1007\/978-3-662-45174-8_26"},{"key":"420_CR5","unstructured":"Attiya, H., Hans, S.: Transactions are back\u2014but how different they are? In: Proceedings of\u00a0TRANSACT\u201914: The 7th\u00a0ACM SIGPLAN Workshop on Transactional Computing (2014)"},{"key":"420_CR6","doi-asserted-by":"crossref","unstructured":"Attiya, H., Hans, S., Kuznetsov, P., Ravi, S.: Safety of deferred update in transactional memory. In: Proceedings of\u00a0ICDCS\u201913: The 33rd\u00a0International Conference on Distributed Computing Systems (2013)","DOI":"10.1109\/ICDCS.2013.57"},{"issue":"3","key":"420_CR7","doi-asserted-by":"publisher","first-page":"203","DOI":"10.1109\/TSE.1979.234182","volume":"SE\u20135","author":"P Bernstein","year":"1979","unstructured":"Bernstein, P., Shipman, D., Wong, W.: Formal aspects of serializability in database concurrency control. IEEE Trans. Softw. Eng. SE\u20135(3), 203\u2013216 (1979)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"420_CR8","volume-title":"Concurrency Control and Recovery in Database Systems","author":"PA Bernstein","year":"1987","unstructured":"Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Boston (1987)"},{"key":"420_CR9","doi-asserted-by":"crossref","unstructured":"Bieniusa, A., Middelkoop, A., Thiemann, P.: Brief announcement: actions in the twilight\u2014concurrent irrevocable transactions and inconsistency repair. In: Proceedings of\u00a0PODC\u201910: The 29th\u00a0ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (2010)","DOI":"10.1145\/1835698.1835714"},{"issue":"9","key":"420_CR10","doi-asserted-by":"publisher","first-page":"954","DOI":"10.1109\/32.92915","volume":"17","author":"Y Breitbart","year":"1991","unstructured":"Breitbart, Y., Georgakopoulos, D., Rusinkiewicz, M., Silberschatz, A.: On rigorous transaction scheduling. IEEE Trans. Softw. Eng. 17(9), 954\u2013960 (1991)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"420_CR11","doi-asserted-by":"crossref","unstructured":"Dalessandro, L., Scott, M.L.: Sandboxing transactional memory. In: Proceedings of\u00a0PACT\u201912: The 21st International Conference on Parallel Architectures and Compilation Techniques (2012)","DOI":"10.1145\/2370816.2370843"},{"key":"420_CR12","doi-asserted-by":"crossref","unstructured":"Dice, D., Shalev, O., Shavit, N.: Transactional Locking II. In: Proceedings of\u00a0DISC\u201906: The 20th\u00a0International Symposium on Distributed Computing (2006)","DOI":"10.1007\/11864219_14"},{"issue":"5","key":"420_CR13","doi-asserted-by":"publisher","first-page":"769","DOI":"10.1007\/s00165-012-0225-8","volume":"25","author":"S Doherty","year":"2013","unstructured":"Doherty, S., Groves, L., Luchangco, V., Moir, M.: Towards formally specifying and verifying transactional memory. Form. Asp. Comput. 25(5), 769\u2013799 (2013)","journal-title":"Form. Asp. Comput."},{"issue":"113","key":"420_CR14","first-page":"3","volume":"2","author":"D Dziuma","year":"2014","unstructured":"Dziuma, D., Fatourou, P., Kanellou, E.: Consistency for transactional memory computing. Bull. EATCS 2(113), 3 (2014)","journal-title":"Bull. EATCS"},{"key":"420_CR15","doi-asserted-by":"crossref","unstructured":"Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. In: Proceedings of\u00a0DISC\u201909: The 23rd\u00a0International Symposium on Distributed Computing (2009)","DOI":"10.1007\/978-3-642-04355-0_12"},{"key":"420_CR16","doi-asserted-by":"crossref","unstructured":"Guerraoui, R., Kapa\u0142ka, M.: On the correctness of transactional memory. In: Proceedings of\u00a0PPoPP\u201908: The 13th\u00a0ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2008)","DOI":"10.1145\/1345206.1345233"},{"key":"420_CR17","doi-asserted-by":"publisher","DOI":"10.2200\/S00253ED1V01Y201009DCT004","volume-title":"Principles of Transactional Memory","author":"R Guerraoui","year":"2010","unstructured":"Guerraoui, R., Kapa\u0142ka, M.: Principles of Transactional Memory. Morgan & Claypool, San Rafael (2010)"},{"issue":"1","key":"420_CR18","doi-asserted-by":"publisher","first-page":"121","DOI":"10.1145\/42267.42272","volume":"35","author":"V Hadzilacos","year":"1988","unstructured":"Hadzilacos, V.: A theory of reliability in database systems. J. ACM 35(1), 121\u2013145 (1988)","journal-title":"J. ACM"},{"key":"420_CR19","doi-asserted-by":"crossref","unstructured":"Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of\u00a0OOPSLA\u201903: The 18th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (2003)","DOI":"10.1145\/949305.949340"},{"key":"420_CR20","doi-asserted-by":"crossref","unstructured":"Harris, T., Marlow, S., Peyton Jones, S., Herlihy, M.: Composable memory transactions. In: Proceedings of\u00a0PPoPP\u201905: The ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2005)","DOI":"10.1145\/1065944.1065952"},{"key":"420_CR21","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Luchangco, V., Moir, M., Scherer, I.W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of\u00a0PODC\u201903: The 22nd\u00a0ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (2003)","DOI":"10.1145\/872035.872048"},{"key":"420_CR22","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of\u00a0ISCA\u201993: The 20th\u00a0International Symposium on Computer Architecture (1993)","DOI":"10.1145\/165123.165164"},{"key":"420_CR23","unstructured":"Imbs, D., de\u00a0Mendivil, J.R., Raynal, M.: On the consistency conditions or transactional memories. Tech. Rep. 1917, IRISA (2008)"},{"key":"420_CR24","doi-asserted-by":"publisher","first-page":"113","DOI":"10.1016\/j.tcs.2012.04.037","volume":"444","author":"D Imbs","year":"2012","unstructured":"Imbs, D., Raynal, M.: Virtual world consistency: a condition for STM systems (with a versatile protocol with invisible read operations). Theor. Comput. Sci. 444, 113\u2013127 (2012)","journal-title":"Theor. Comput. Sci."},{"key":"420_CR25","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1016\/j.jpdc.2016.10.007","volume":"100","author":"T Kobus","year":"2017","unstructured":"Kobus, T., Kokoci\u0144ski, M., Wojciechowski, P.T.: Relaxing real-time order in opacity and linearizability. J. Parallel Distrib. Comput. 100, 57\u201370 (2017)","journal-title":"J. Parallel Distrib. Comput."},{"issue":"3","key":"420_CR26","doi-asserted-by":"publisher","first-page":"528","DOI":"10.1002\/spe.2548","volume":"48","author":"P Kobyli\u0144ski","year":"2018","unstructured":"Kobyli\u0144ski, P., Siek, K., Baranowski, J., Wojciechowski, P.T.: Helenos: a realistic benchmark for distributed transactional memory. J. Softw. Pract. Exp. 48(3), 528\u2013549 (2018)","journal-title":"J. Softw. Pract. Exp."},{"issue":"12","key":"420_CR27","doi-asserted-by":"publisher","first-page":"3570","DOI":"10.1109\/TPDS.2017.2734879","volume":"28","author":"JZ Ko\u0144czak","year":"2017","unstructured":"Ko\u0144czak, J.Z., Wojciechowski, P.T., Guerraoui, R.: Operation-level wait-free transactional memory with support for irrevocable operations. IEEE Trans. Parallel Distrib. Syst. 28(12), 3570\u20133583 (2017)","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"issue":"2","key":"420_CR28","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1109\/TSE.1977.229904","volume":"SE\u20133","author":"L Lamport","year":"1977","unstructured":"Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE\u20133(2), 125\u2013143 (1977)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"420_CR29","doi-asserted-by":"crossref","unstructured":"Lesani, M., Palsberg, J.: Decomposing opacity. In: Proceedings of\u00a0DISC\u201914: The 28th\u00a0International Symposium on Distributed Computing (2014)","DOI":"10.1007\/978-3-662-45174-8_27"},{"key":"420_CR30","unstructured":"Matveev, A., Shavit, N.: Towards a fully pessimistic STM model. In: Proceedings of\u00a0TRANSACT \u201912: The 7th\u00a0ACM SIGPLAN Workshop on Transactional Computing (2012)"},{"key":"420_CR31","doi-asserted-by":"crossref","unstructured":"Ni, Y., Welc, A., Adl-Tabatabai, A.R., Bach, M., Berkowits, S., Cownie, J., Geva, R., Kozhukow, S., Narayanaswamy, R., Olivier, J., Preis, S., Saha, B., Tal, A., Tian, X.: Design and implementation of transactional constructs for C\/C++. In: Proceedings of OOPSLA\u201908: The 23rd ACM SIGPLAN Conference on Object-oriented Programming, Systems Languages and Applications (2008)","DOI":"10.1145\/1449764.1449780"},{"key":"420_CR32","doi-asserted-by":"crossref","unstructured":"Olszewski, M., Cutler, J., Steffan, J.G.: JudoSTM: a dynamic binary-rewriting approach to software transactional memory. In: Proceedings of\u00a0PACT\u201907: The 16th International Conference on Parallel Architectures and Compilation Techniques (2007)","DOI":"10.1109\/PACT.2007.4336226"},{"issue":"4","key":"420_CR33","doi-asserted-by":"publisher","first-page":"631","DOI":"10.1145\/322154.322158","volume":"26","author":"CH Papadimitrou","year":"1979","unstructured":"Papadimitrou, C.H.: The serializability of concurrent database updates. J. ACM 26(4), 631\u2013653 (1979)","journal-title":"J. ACM"},{"key":"420_CR34","doi-asserted-by":"crossref","unstructured":"Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in STM. In: Proceedings of\u00a0PODC\u201910: The 29th\u00a0ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (2010)","DOI":"10.1145\/1835698.1835704"},{"key":"420_CR35","doi-asserted-by":"crossref","unstructured":"Ramadan, H.E., Roy, I., Herlihy, M., Witchel, E.: Committing conflicting transactions in an STM. In: Proceedings of\u00a0PPoPP\u201909: The 14th\u00a0ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2009)","DOI":"10.1145\/1504176.1504201"},{"key":"420_CR36","doi-asserted-by":"crossref","unstructured":"Ringenburg, M.F., Grossman, D.: AtomCaml: first-class atomicity via rollback. In: Proceedings of ICFP\u201905: The 10th ACM SIGPLAN International Conference on Functional Programming (2005)","DOI":"10.1145\/1086365.1086378"},{"key":"420_CR37","doi-asserted-by":"crossref","unstructured":"Saad, M.M., Kishi, M.J., Jing, S., Hans, S., Palmieri, R.: Processing transactions in a predefined order. In: Proceedings of\u00a0PPoPP\u201919: The 24th Symposium on Principles and Practice of Parallel Programming (2019)","DOI":"10.1145\/3293883.3295730"},{"key":"420_CR38","doi-asserted-by":"crossref","unstructured":"Saha, B., Adl-Tabatabai, A., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: Proceedings of\u00a0PPoPP\u201906: The ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2006)","DOI":"10.1145\/1122971.1123001"},{"key":"420_CR39","doi-asserted-by":"crossref","unstructured":"Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of\u00a0PODC\u201995: The 14th\u00a0ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (1995)","DOI":"10.1145\/224964.224987"},{"key":"420_CR40","unstructured":"Siek, K., Wojciechowski, P.T.: Atomic RMI 2: highly parallel pessimistic distributed transactional memory. abs\/1606.03928 (2016). arXiv:1606.03928"},{"issue":"3","key":"420_CR41","doi-asserted-by":"publisher","first-page":"598","DOI":"10.1007\/s10766-015-0361-x","volume":"44","author":"K Siek","year":"2016","unstructured":"Siek, K., Wojciechowski, P.T.: Atomic RMI: a distributed transactional memory framework. Int. J. Parallel Program. 44(3), 598\u2013619 (2016)","journal-title":"Int. J. Parallel Program."},{"key":"420_CR42","unstructured":"Skare, T., Kozyrakis, C.: Early release: friend or foe? In: Proceedings of\u00a0WTW\u201906: The Workshop on Transactional Memory Workloads (2006)"},{"issue":"2","key":"420_CR43","doi-asserted-by":"publisher","first-page":"249","DOI":"10.1145\/63264.63518","volume":"11","author":"WE Weihl","year":"1989","unstructured":"Weihl, W.E.: Local atomicity properties: modular concurrency control for abstract data types. ACM Trans. Program. Lang. Syst. 11(2), 249\u2013282 (1989)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"420_CR44","volume-title":"Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery","author":"G Weikum","year":"2002","unstructured":"Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann Publishers, Burlington (2002)"},{"key":"420_CR45","doi-asserted-by":"crossref","unstructured":"Welc, A., Saha, B., Adl-Tabatabai, A.R.: Irrevocable transactions and their applications. In: Proceedings of\u00a0SPAA\u201908: The 20th\u00a0ACM Symposium on Parallelism in Algorithms and Architectures (2008)","DOI":"10.1145\/1378533.1378584"},{"key":"420_CR46","doi-asserted-by":"crossref","unstructured":"Wojciechowski, P.T.: Isolation-only transactions by typing and versioning. In: Proceedings of\u00a0PPDP\u201905: The 7th\u00a0ACM SIGPLAN International Symposium on Principles and Practice of Declarative Programming (2005)","DOI":"10.1145\/1069774.1069781"},{"key":"420_CR47","volume-title":"Language Design for Atomicity, Declarative Synchronization, and Dynamic Update in Communicating Systems","author":"PT Wojciechowski","year":"2007","unstructured":"Wojciechowski, P.T.: Language Design for Atomicity, Declarative Synchronization, and Dynamic Update in Communicating Systems. Publishing House of Pozna\u0144 University of Technology, Poznan (2007)"},{"key":"420_CR48","unstructured":"Wojciechowski, P.T., R\u00fctti, O., Schiper, A.: SAMOA: a framework for a synchronisation-augmented microprotocol approach. In: Proceedings of\u00a0IPDPS\u201904: The 18th IEEE International Parallel and Distributed Processing Symposium (2004)"}],"container-title":["Distributed Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00446-022-00420-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00446-022-00420-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00446-022-00420-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,5,18]],"date-time":"2022-05-18T06:08:59Z","timestamp":1652854139000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00446-022-00420-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,4,17]]},"references-count":48,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2022,6]]}},"alternative-id":["420"],"URL":"https:\/\/doi.org\/10.1007\/s00446-022-00420-2","relation":{},"ISSN":["0178-2770","1432-0452"],"issn-type":[{"type":"print","value":"0178-2770"},{"type":"electronic","value":"1432-0452"}],"subject":[],"published":{"date-parts":[[2022,4,17]]},"assertion":[{"value":"13 September 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"17 December 2021","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"17 April 2022","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}