{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T05:04:58Z","timestamp":1750309498633,"version":"3.41.0"},"reference-count":14,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2025,3,28]],"date-time":"2025-03-28T00:00:00Z","timestamp":1743120000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Commun. ACM"],"published-print":{"date-parts":[[2025,4]]},"abstract":"<jats:p>\n            Transactions are the fundamental database abstraction for ensuring application correctness under concurrency and failures. Using database transactions, developers are only tasked with demarcating critical business logic into transactions, and the underlying database system is responsible for coordinating their execution. Yet, in today's Web applications, transactions are often constructed in an ad hoc manner. That is, developers might explicitly use locking primitives or manual validation to coordinate critical code fragments, instead of relying on database transactions. We refer to such application-coordinated transactions as\n            <jats:italic>ad hoc transactions<\/jats:italic>\n            .\n          <\/jats:p>\n          <jats:p>This paper presents the first comprehensive study on ad hoc transactions. Examining 91 ad hoc transaction instances taken from eight popular open-source Web applications, we find that (i) every application studied uses ad hoc transactions (up to 16 per application), 71 of which play critical roles; (ii) compared with database transactions, coordination strategies of ad hoc transactions is much more flexible; (iii) ad hoc transactions are error-prone\u201453 of them have correctness issues, and 33 of them are confirmed by developers; and (iv) ad hoc transactions have the potential to improve performance in contentious workloads by utilizing application semantics such as access patterns. Finally, this paper concludes with a discussion about the implications of ad hoc transactions and opportunities for future research.<\/jats:p>","DOI":"10.1145\/3708552","type":"journal-article","created":{"date-parts":[[2025,3,17]],"date-time":"2025-03-17T13:50:25Z","timestamp":1742219425000},"page":"71-80","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Many Faces of Ad Hoc Transactions"],"prefix":"10.1145","volume":"68","author":[{"given":"Chuzhe","family":"Tang","sequence":"first","affiliation":[{"name":"Shanghai Jiao Tong University, Institute of Parallel and Distributed Systems, Shanghai, China"}]},{"given":"Zhaoguo","family":"Wang","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Institute of Parallel and Distributed Systems, Shanghai, China"}]},{"given":"Xiaodong","family":"Zhang","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Institute of Parallel and Distributed Systems, Shanghai, China"}]},{"given":"Qianmian","family":"Yu","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Institute of Parallel and Distributed Systems, Shanghai, China"}]},{"given":"Binyu","family":"Zang","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Institute of Parallel and Distributed Systems, Shanghai, China"}]},{"given":"Haibing","family":"Guan","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai Key Laboratory of Scalable Computing and Systems, Shanghai, China"}]},{"given":"Haibo","family":"Chen","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Institute of Parallel and Distributed Systems, Shanghai, China"}]}],"member":"320","published-online":{"date-parts":[[2025,3,28]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.14778\/2735508.2735509"},{"key":"e_1_3_1_3_2","first-page":"1327","volume-title":"Proceedings of the 2015 ACM SIGMOD Intern. Conf. on Management of Data","author":"Bailis P.","unstructured":"Bailis, P. et al. Feral concurrency control: An empirical investigation of modern application integrity. In Proceedings of the 2015 ACM SIGMOD Intern. Conf. on Management of Data. Association for Computing Machinery, 1327\u20131342."},{"key":"e_1_3_1_4_2","unstructured":"Cheng C. et al. Developer\u2019s responsibility or database\u2019s responsibility? Rethinking concurrency control in databases. In Proceedings of the 13th Biennial Conf. on Innovative Data Systems Research\u00a0(2023)."},{"key":"e_1_3_1_5_2","first-page":"235","volume-title":"Proceedings of the 2017 ACM Intern. Conf. on Management of Data","author":"Dashti M.","unstructured":"Dashti, M., Basil John, S., Shaikhha, A., and Koch, C. Transaction repair for multi-version concurrency control. In Proceedings of the 2017 ACM Intern. Conf. on Management of Data. Association for Computing Machinery, 235\u2013250."},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.14778\/3594512.3594523"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/360363.360369"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/38714.38742"},{"key":"e_1_3_1_9_2","first-page":"144","volume-title":"Proceedings of the 7th Intern. Conf. on Very Large Data Bases 7","author":"Gray J.","year":"1981","unstructured":"Gray, J. The transaction concept: Virtues and limitations. In Proceedings of the 7th Intern. Conf. on Very Large Data Bases 7, VLDB Endowment, (1981), 144\u2013154."},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/3012426.3025012"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/3514221.3526120"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/3638553"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3064037"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915202"}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3708552","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3708552","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:17:46Z","timestamp":1750295866000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3708552"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,3,28]]},"references-count":14,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2025,4]]}},"alternative-id":["10.1145\/3708552"],"URL":"https:\/\/doi.org\/10.1145\/3708552","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"type":"print","value":"0001-0782"},{"type":"electronic","value":"1557-7317"}],"subject":[],"published":{"date-parts":[[2025,3,28]]},"assertion":[{"value":"2025-03-28","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}