{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,12]],"date-time":"2026-09-12T01:32:06Z","timestamp":1789176726520,"version":"build-2803163510"},"reference-count":79,"publisher":"Association for Computing Machinery (ACM)","issue":"8","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2025,4]]},"abstract":"<jats:p>Database Management Systems (DBMSs) utilize transactions to guarantee data consistency and integrity. Incorrect implementations of transaction processing mechanisms can introduce critical transaction bugs, which can lead to incorrect database states after the involved transactions complete. However, we lack an effective test oracle to determine whether a DBMS produces a correct database state for a given concurrent transaction schedule.<\/jats:p>\n                  <jats:p>\n                    In this paper, we propose a general property for concurrent transaction schedules,\n                    <jats:italic toggle=\"yes\">write-specific serializability<\/jats:italic>\n                    , in which a schedule of concurrent transactions should produce the same database state as a corresponding serial schedule of the same transactions. Through our empirical study on 35 critical transaction bugs collected from six widely-used DBMSs, we find that write-specific serializability can be an effective test oracle to expose critical transaction bugs in DBMSs. We further develop a simple and general transaction testing approach, WriteCheck, to automatically detect write-specific serializability violations by identifying inconsistencies in the final database states produced by the original transaction schedule and its corresponding serial schedule. We evaluate WriteCheck on the latest versions of six production-grade DBMSs, and have found 22 write-specific serializability violations, 11 of which have been confirmed as new critical transaction bugs.\n                  <\/jats:p>","DOI":"10.14778\/3742728.3742747","type":"journal-article","created":{"date-parts":[[2025,9,3]],"date-time":"2025-09-03T13:32:53Z","timestamp":1756906373000},"page":"2547-2560","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Simple Testing Can Expose Most Critical Transaction Bugs: Understanding and Detecting Write-Specific Serializability Violations in Database Systems"],"prefix":"10.14778","volume":"18","author":[{"given":"Ziyu","family":"Cui","sequence":"first","affiliation":[{"name":"Institute of Software at CAS, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wensheng","family":"Dou","sequence":"additional","affiliation":[{"name":"Institute of Software at CAS, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yu","family":"Gao","sequence":"additional","affiliation":[{"name":"Institute of Software at CAS, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rui","family":"Yang","sequence":"additional","affiliation":[{"name":"Institute of Software at CAS, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yingying","family":"Zheng","sequence":"additional","affiliation":[{"name":"Institute of Software at CAS, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jiansen","family":"Song","sequence":"additional","affiliation":[{"name":"Institute of Software at CAS, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yuan","family":"Feng","sequence":"additional","affiliation":[{"name":"Wuhan Dameng Database Co., Ltd."}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jun","family":"Wei","sequence":"additional","affiliation":[{"name":"Institute of Software at CAS, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,9,3]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2025. The ANSI Isolation Levels. https:\/\/renenyffenegger.ch\/notes\/development\/databases\/SQL\/transaction\/isolation-level."},{"key":"e_1_2_1_2_1","unstructured":"2025. CockroachDB. https:\/\/www.cockroachlabs.com."},{"key":"e_1_2_1_3_1","unstructured":"2025. Current read in PostgreSQL. https:\/\/www.postgresql.org\/docs\/current\/transaction-iso.html."},{"key":"e_1_2_1_4_1","unstructured":"2025. Current read in TiDB. https:\/\/docs.pingcap.com\/tidb\/stable\/pessimistic-transaction."},{"key":"e_1_2_1_5_1","unstructured":"2025. DB-Engines. https:\/\/db-engines.com\/en\/ranking."},{"key":"e_1_2_1_6_1","unstructured":"2025. Gap locks in MySQL. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-locking.html#innodb-gap-locks."},{"key":"e_1_2_1_7_1","unstructured":"2025. GitHub. https:\/\/github.com\/."},{"key":"e_1_2_1_8_1","unstructured":"2025. go-randgen. https:\/\/github.com\/pingcap\/go-randgen."},{"key":"e_1_2_1_9_1","unstructured":"2025. MariaDB. https:\/\/mariadb.org."},{"key":"e_1_2_1_10_1","unstructured":"2025. MySQL. https:\/\/www.mysql.com."},{"key":"e_1_2_1_11_1","unstructured":"2025. MySQL Customer: Shopify. https:\/\/www.mysql.com\/customers\/view\/?id=1303."},{"key":"e_1_2_1_12_1","unstructured":"2025. PostgreSQL. https:\/\/www.postgresql.org."},{"key":"e_1_2_1_13_1","unstructured":"2025. Semi-consistent read in MySQL. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-transaction-isolation-levels.html."},{"key":"e_1_2_1_14_1","unstructured":"2025. SQLancer. https:\/\/www.manuelrigger.at\/dbms-bugs\/."},{"key":"e_1_2_1_15_1","unstructured":"2025. SQLite. https:\/\/www.sqlite.org\/index.html."},{"key":"e_1_2_1_16_1","unstructured":"2025. SQLsmith. https:\/\/github.com\/anse1\/sqlsmith."},{"key":"e_1_2_1_17_1","unstructured":"2025. TiDB issues. https:\/\/github.com\/pingcap\/tidb\/issues\/."},{"key":"e_1_2_1_18_1","unstructured":"2025. TiDB PingCAP. https:\/\/pingcap.com."},{"key":"e_1_2_1_19_1","unstructured":"Atul Adya. 1999. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. Ph.D. Dissertation. Massachusetts Institute of Technology."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2000.839388"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00174"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3654991"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732232.2732237"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2909870"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/223784.223785"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/319996.319998"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data (SIGMOD). 341\u2013352","author":"Binnig Carsten","year":"2007","unstructured":"Carsten Binnig, Donald Kossmann, Eric Lo, and M. Tamer \u00d6zsu. 2007. QA-Gen: Generating Query-Aware Test Databases. In Proceedings of ACM SIGMOD International Conference on Management of Data (SIGMOD). 341\u2013352."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360591"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3485546"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of International Conference on Very Large Data Bases (VLDB). 1097\u20131107","author":"Bruno Nicolas","year":"2005","unstructured":"Nicolas Bruno and Surajit Chaudhuri. 2005. Flexible Database Generators. In Proceedings of International Conference on Very Large Data Bases (VLDB). 1097\u20131107."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2006.190"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009895"},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of ACM SIGFIDET Workshop on Data Description, Access and Control (SIGFIDET). 249\u2013264","author":"Donald","unstructured":"Donald D. Chamberlin and Raymond F. Boyce. 1974. SEQUEL: A Structured English Query Language. In Proceedings of ACM SIGFIDET Workshop on Data Description, Access and Control (SIGFIDET). 249\u2013264."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3627703.3650080"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/362384.362685"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3556924"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3639207"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of IEEE International Conference on Automated Software Engineering (ASE). 184\u2013193","author":"Deng Yuetang","year":"2003","unstructured":"Yuetang Deng, Phyllis Frankl, and Zhongqiang Chen. 2003. Testing Database Transaction Concurrency. In Proceedings of IEEE International Conference on Automated Software Engineering (ASE). 184\u2013193."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00101"},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data (SIGMOD). 243\u2013252","author":"Gray Jim","unstructured":"Jim Gray, Prakash Sundaresan, Susanne Englert, Ken Baclawski, and Peter J. Weinberger. 1994. Quickly Generating Billion-Record Synthetic Databases. In Proceedings of ACM SIGMOD International Conference on Management of Data (SIGMOD). 243\u2013252."},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of International Conference on Very Large Data Bases (VLDB). 1243\u20131246","author":"Houkj\u00e6r Kenneth","year":"2006","unstructured":"Kenneth Houkj\u00e6r, Kristian Torp, and Rico Wind. 2006. Simple and Realistic Data Generation. In Proceedings of International Conference on Very Large Data Bases (VLDB). 1243\u20131246."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597926.3598046"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.538605"},{"key":"e_1_2_1_44_1","volume-title":"Proceedings of USENIX Security Symposium (USENIX Security). 4949\u20134965","author":"Jiang Zu-Ming","year":"2023","unstructured":"Zu-Ming Jiang, Jia-Ju Bai, and Zhendong Su. 2023. DynSQL: Stateful Fuzzing for Database Management Systems with Complex and Valid SQL Query Generation. In Proceedings of USENIX Security Symposium (USENIX Security). 4949\u20134965."},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of USENIX Symposium on Operating Systems Design and Implementation (OSDI). 397\u2013417","author":"Jiang Zu-Ming","year":"2023","unstructured":"Zu-Ming Jiang, Si Liu, Manuel Rigger, and Zhendong Su. 2023. Detecting Transactional Bugs in Database Engines via Graph-Based Oracle Construction. In Proceedings of USENIX Symposium on Operating Systems Design and Implementation (OSDI). 397\u2013417."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.14778\/3357377.3357382"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597926.3598044"},{"key":"e_1_2_1_48_1","volume-title":"Proceedings of IEEE\/ACM International Conference on Automated Software Engineering (ASE). 238\u2013247","author":"Khalek Shadi Abdul","year":"2008","unstructured":"Shadi Abdul Khalek, Bassem Elkarablieh, Yai O Laleye, and Sarfraz Khurshid. 2008. Query-Aware Test Generation Using a Relational Constraint Solver. In Proceedings of IEEE\/ACM International Conference on Automated Software Engineering (ASE). 238\u2013247."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.14778\/3430915.3430918"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE55515.2023.00057"},{"key":"e_1_2_1_52_1","volume-title":"Proceedings of USENIX Security Symposium (USENIX Security). 4309\u20134326","author":"Liang Yu","year":"2022","unstructured":"Yu Liang, Song Liu, and Hong Hu. 2022. Detecting Logical Bugs of DBMS with Coverage-based Guidance. In Proceedings of USENIX Security Symposium (USENIX Security). 4309\u20134326."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510093"},{"key":"e_1_2_1_54_1","first-page":"1855","article-title":"Detecting Offline Transaction Concurrency Problems","volume":"7","author":"Luo Hao","year":"2012","unstructured":"Hao Luo, Mehedi Masud, and Hasan Ural. 2012. Detecting Offline Transaction Concurrency Problems. Journal of Software (JSW) 7, 8 (2012), 1855\u20131860.","journal-title":"Journal of Software (JSW)"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.14778\/2367502.2367523"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360543"},{"key":"e_1_2_1_57_1","unstructured":"David Patrick Reed. 1978. Naming and Synchronization in a Decentralized Computer System. Technical Report."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3409710"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428279"},{"key":"e_1_2_1_60_1","volume-title":"Proceedings of USENIX Symposium on Operating Systems Design and Implementation (OSDI). 667\u2013682","author":"Rigger Manuel","year":"2020","unstructured":"Manuel Rigger and Zhendong Su. 2020. Testing Database Engines via Pivoted Query Synthesis. In Proceedings of USENIX Symposium on Operating Systems Design and Implementation (OSDI). 667\u2013682."},{"key":"e_1_2_1_61_1","volume-title":"Proceedings of International Conference on Very Large Data Bases (VLDB). 618\u2013622","author":"Slutz Donald R.","year":"1998","unstructured":"Donald R. Slutz. 1998. Massive Stochastic Testing of SQL. In Proceedings of International Conference on Very Large Data Bases (VLDB). 618\u2013622."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00175"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.14778\/3659437.3659445"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.14778\/3734839.3734861"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/CMPSAC.1990.139341"},{"key":"e_1_2_1_66_1","volume-title":"Proceedings of USENIX Symposium on Operating Systems Design and Implementation (OSDI). 63\u201380","author":"Tan Cheng","year":"2020","unstructured":"Cheng Tan, Changgeng Zhao, Shuai Mu, and Michael Walfish. 2020. Cobra: Making Transactional Key-Value Stores Verifiably Serializable. In Proceedings of USENIX Symposium on Operating Systems Design and Implementation (OSDI). 63\u201380."},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3514221.3526120"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE65448.2025.00293"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-SEIP52600.2021.00042"},{"key":"e_1_2_1_70_1","volume-title":"Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery","author":"Weikum Gerhard","unstructured":"Gerhard Weikum and Gottfried Vossen. 2001. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann Publishers Inc."},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/3728953"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-Companion58688.2023.00041"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882935"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-013-0318-x"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/3650212.3680392"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST60714.2024.00012"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/3533767.3534409"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/3372297.3417260"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.14778\/3636218.3636236"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3742728.3742747","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,3]],"date-time":"2025-09-03T13:33:45Z","timestamp":1756906425000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3742728.3742747"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4]]},"references-count":79,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2025,4]]}},"alternative-id":["10.14778\/3742728.3742747"],"URL":"https:\/\/doi.org\/10.14778\/3742728.3742747","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2025,4]]},"assertion":[{"value":"2025-09-03","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}