{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,7]],"date-time":"2026-03-07T08:34:40Z","timestamp":1772872480769,"version":"3.50.1"},"reference-count":49,"publisher":"Association for Computing Machinery (ACM)","issue":"6","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2025,2]]},"abstract":"<jats:p>Ensuring the ACID properties of transactions is the fundamental functionality of transactional DBMSs. However, through our study on existing solutions on transaction management, we found that transaction implementations in some mainstream databases, such as MySQL, MariaDB and TiDB, may violate what they claim in their documentation, in the form of incorrect database state or query results. Since there is still a lack of efficient and comprehensive testing methods to detect bugs within transaction management implementation for off-the-shelf DBMSs at present, we propose Fucci, a fuzzing framework, to solve the problem. Given a target DBMS, Fucci improves the efficiency of detecting transaction bugs through three key components: Random Conflict Construction (RCC), Multilevel Constraint Solving (MCS), and Experience-driven Automatic Simplification (EAS). RCC addresses the issue of inadequate case validity by ensuring the presence of read-write or write-write conflicts between transactions. MCS enhances the accuracy and efficiency of the transaction oracle by employing an external multi-version control system to solve data visibility. EAS is ultimately adopted to improve the efficiency of simplification and the readability of the identified bug cases. All of the above strategies are tested on commercial databases such as MySQL, MariaDB and TiDB. Accordingly, 6 previously unknown transaction bugs and 14 known duplicate transaction bugs have been newly discovered, most of which have been officially acknowledged.<\/jats:p>","DOI":"10.14778\/3725688.3725713","type":"journal-article","created":{"date-parts":[[2025,8,29]],"date-time":"2025-08-29T14:19:21Z","timestamp":1756477161000},"page":"1879-1891","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Fucci: Database Transaction Fuzzing via Random Conflict Construction and Multilevel Constraint Solving"],"prefix":"10.14778","volume":"18","author":[{"given":"Xiyue","family":"Gao","sequence":"first","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhuang","family":"Liu","sequence":"additional","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yiran","family":"Shen","sequence":"additional","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hui","family":"Li","sequence":"additional","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yingfan","family":"Liu","sequence":"additional","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hongjun","family":"Xiao","sequence":"additional","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yanguo","family":"Peng","sequence":"additional","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jiangtao","family":"Cui","sequence":"additional","affiliation":[{"name":"Xidian University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,8,29]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Data science revealed: A data-driven glimpse into the burgeoning new field. https:\/\/www.ndm.net\/datawarehouse\/pdf\/EMC-Data_Science_Study_White_Paper.pdf. Last accessed","year":"2024","unstructured":"2011. Data science revealed: A data-driven glimpse into the burgeoning new field. https:\/\/www.ndm.net\/datawarehouse\/pdf\/EMC-Data_Science_Study_White_Paper.pdf. Last accessed September 1, 2024."},{"key":"e_1_2_1_2_1","unstructured":"2015. AFL: American fuzzy lop. http:\/\/lcamtuf.coredump.cx\/afl\/ Last accessed September 1 2024."},{"key":"e_1_2_1_3_1","volume-title":"https:\/\/github.com\/anse1\/sqlsmith Last accessed","year":"2024","unstructured":"2015. SQLsmith. https:\/\/github.com\/anse1\/sqlsmith Last accessed September 1, 2024."},{"key":"e_1_2_1_4_1","volume-title":"https:\/\/google.github.io\/honggfuzz\/ Last accessed","year":"2024","unstructured":"2016. Honggfuzz. https:\/\/google.github.io\/honggfuzz\/ Last accessed September 1, 2024."},{"key":"e_1_2_1_5_1","volume-title":"OSS-Fuzz: Continuous fuzzing for open source software. https:\/\/github.com\/google\/oss-fuzz Last accessed","year":"2024","unstructured":"2016. OSS-Fuzz: Continuous fuzzing for open source software. https:\/\/github.com\/google\/oss-fuzz Last accessed September 1, 2024."},{"key":"e_1_2_1_6_1","unstructured":"2017. LibFuzzer - A library for coverage-guided fuzz testing. http:\/\/llvm.org\/docs\/LibFuzzer.html Last accessed September 1 2024."},{"key":"e_1_2_1_7_1","volume-title":"Mysql InnoDB Locking. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-locking.html Last accessed","year":"2024","unstructured":"2018. Mysql InnoDB Locking. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-locking.html Last accessed September 1, 2024."},{"key":"e_1_2_1_8_1","unstructured":"2019. American Fuzzy Lop. http:\/\/lcamtuf.coredump.cx\/afl. Last accessed September 1 2024."},{"key":"e_1_2_1_9_1","volume-title":"go-randgen. https:\/\/github.com\/pingcap\/go-randgen Last accessed","year":"2024","unstructured":"2023. go-randgen. https:\/\/github.com\/pingcap\/go-randgen Last accessed September 1, 2024."},{"key":"e_1_2_1_10_1","volume-title":"https:\/\/mariadb.org\/ Last accessed","author":"DB.","year":"2024","unstructured":"2023. MariaDB. https:\/\/mariadb.org\/ Last accessed September 1, 2024."},{"key":"e_1_2_1_11_1","volume-title":"https:\/\/github.com\/mysql\/mysql-server Last accessed","author":"SQL.","year":"2024","unstructured":"2023. MySQL. https:\/\/github.com\/mysql\/mysql-server Last accessed September 1, 2024."},{"key":"e_1_2_1_12_1","volume-title":"https:\/\/github.com\/pingcap\/tidb Last accessed","author":"DB.","year":"2024","unstructured":"2023. TiDB. https:\/\/github.com\/pingcap\/tidb Last accessed September 1, 2024."},{"key":"e_1_2_1_13_1","volume-title":"Inappropriate semi-consistent read in RC. https:\/\/jira.mariadb.org\/browse\/MDEV-34108. Last accessed","year":"2024","unstructured":"2024. Inappropriate semi-consistent read in RC. https:\/\/jira.mariadb.org\/browse\/MDEV-34108. Last accessed September 1, 2024."},{"key":"e_1_2_1_14_1","volume-title":"Innodb transaction isolation levels. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-transaction-isolation-levels.html Last accessed","year":"2024","unstructured":"2024. Innodb transaction isolation levels. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-transaction-isolation-levels.html Last accessed September 1, 2024."},{"key":"e_1_2_1_15_1","volume-title":"Phantom rows caused by UPDATE of PRIMARY KEY. https:\/\/jira.mariadb.org\/browse\/MDEV-32898. Last accessed","year":"2024","unstructured":"2024. Phantom rows caused by UPDATE of PRIMARY KEY. https:\/\/jira.mariadb.org\/browse\/MDEV-32898. Last accessed September 1, 2024."},{"key":"e_1_2_1_16_1","volume-title":"Phantom rows caused by update statements which changes value of the primary key. https:\/\/bugs.mysql.com\/bug.php?id=113228. Last accessed","year":"2024","unstructured":"2024. Phantom rows caused by update statements which changes value of the primary key. https:\/\/bugs.mysql.com\/bug.php?id=113228. Last accessed September 1, 2024."},{"key":"e_1_2_1_17_1","volume-title":"Weird read view after ROLLBACK of other transactions. https:\/\/jira.mariadb.org\/browse\/MDEV-33802. Last accessed","year":"2024","unstructured":"2024. Weird read view after ROLLBACK of other transactions. https:\/\/jira.mariadb.org\/browse\/MDEV-33802. Last accessed September 1, 2024."},{"key":"e_1_2_1_18_1","volume-title":"International Conference on Automated Software Engineering. ACM, 329\u2013332","author":"Khalek Shadi Abdul","year":"2010","unstructured":"Shadi Abdul Khalek and Sarfraz Khurshid. 2010. Automated SQL query generation for systematic testing of database engines. In International Conference on Automated Software Engineering. ACM, 329\u2013332."},{"key":"e_1_2_1_19_1","volume-title":"International Conference on Software Engineering. IEEE","author":"Ba Jinsheng","year":"2023","unstructured":"Jinsheng Ba and Manuel Rigger. 2023. Testing database engines via query plan guidance. In International Conference on Software Engineering. IEEE, 2060\u20132071."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3182657"},{"key":"e_1_2_1_21_1","volume-title":"International Conference on Very Large Data Bases. VLDB Endowment, 1243\u20131251","author":"Bati Hardik","year":"2007","unstructured":"Hardik Bati, Leo Giakoumakis, Steve Herbert, and Aleksandras Surna. 2007. A genetic approach for random testing of database systems. In International Conference on Very Large Data Bases. VLDB Endowment, 1243\u20131251."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/568271.223785"},{"key":"e_1_2_1_23_1","volume-title":"Workshop on Testing Database Systems. ACM, 1\u20135.","author":"Chen Xinyue","year":"2020","unstructured":"Xinyue Chen, Chenglong Wang, and Alvin Cheung. 2020. Testing query execution engines with mutations. In Workshop on Testing Database Systems. ACM, 1\u20135."},{"key":"e_1_2_1_24_1","volume-title":"Foundations of Software Technology and Theoretical Computer Science","author":"Clarke Edmund M","unstructured":"Edmund M Clarke. 1997. Model checking. In Foundations of Software Technology and Theoretical Computer Science. Springer, 54\u201356."},{"key":"e_1_2_1_25_1","volume-title":"International Conference on Automated Software Engineering. ACM, 1\u201312","author":"Cui Ziyu","year":"2022","unstructured":"Ziyu Cui, Wensheng Dou, Qianwang Dai, Jiansen Song, Wei Wang, Jun Wei, and Dan Ye. 2022. Differentially testing database transactions for fun and profit. In International Conference on Automated Software Engineering. ACM, 1\u201312."},{"key":"e_1_2_1_26_1","volume-title":"International Conference on Software Engineering. IEEE.","author":"Dou Wensheng","year":"2023","unstructured":"Wensheng Dou, Ziyu Cui, Qianwang Dai, Jiansen Song, Dong Wang, Yu Gao, Wei Wang, Jun Wei, Lei Chen, Hanmo Wang, et al. 2023. Detecting isolation bugs via transaction oracle construction. In International Conference on Software Engineering. IEEE."},{"key":"e_1_2_1_27_1","volume-title":"A Comprehensive Survey on Database Management System Fuzzing: Techniques, Taxonomy and Experimental Comparison. arXiv preprint arXiv:2311.06728","author":"Gao Xiyue","year":"2023","unstructured":"Xiyue Gao, Zhuang Liu, Jiangtao Cui, Hui Li, Hui Zhang, Kewei Wei, and Kankan Zhao. 2023. A Comprehensive Survey on Database Management System Fuzzing: Techniques, Taxonomy and Experimental Comparison. arXiv preprint arXiv:2311.06728 (2023)."},{"key":"e_1_2_1_28_1","volume-title":"Transaction processing: concepts and techniques","author":"Gray Jim","unstructured":"Jim Gray and Andreas Reuter. 1992. Transaction processing: concepts and techniques. Elsevier."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1978.231514"},{"key":"e_1_2_1_30_1","doi-asserted-by":"crossref","first-page":"256","DOI":"10.1145\/505145.505149","article-title":"Alloy: A lightweight object modelling notation","volume":"11","author":"Jackson Daniel","year":"2002","unstructured":"Daniel Jackson. 2002. Alloy: A lightweight object modelling notation. Transactions on Software Engineering and Methodology 11, 2 (2002), 256\u2013290.","journal-title":"Transactions on Software Engineering and Methodology"},{"key":"e_1_2_1_31_1","volume-title":"SQLsmith: Randomized sql testing in cockroachdb. https:\/\/www.cockroachlabs.com\/blog\/sqlsmith-randomized-sql-testing\/ Last accessed","author":"Jibson Matt","year":"2024","unstructured":"Matt Jibson. 2019. SQLsmith: Randomized sql testing in cockroachdb. https:\/\/www.cockroachlabs.com\/blog\/sqlsmith-randomized-sql-testing\/ Last accessed September 1, 2024."},{"key":"e_1_2_1_32_1","first-page":"57","article-title":"Apollo: Automatic detection and diagnosis of performance regressions in database systems","volume":"13","author":"Jung Jinho","year":"2019","unstructured":"Jinho Jung, Hong Hu, Joy Arulraj, Taesoo Kim, and Woonhak Kang. 2019. Apollo: Automatic detection and diagnosis of performance regressions in database systems. Very Large Data Bases Endowment 13, 1 (2019), 57\u201370.","journal-title":"Very Large Data Bases Endowment"},{"key":"e_1_2_1_33_1","volume-title":"Diva: Making MVCC Systems HTAP-Friendly. In International Conference on Management of Data. ACM, 49\u201364","author":"Kim Jongbin","year":"2022","unstructured":"Jongbin Kim, Jaeseon Yu, Jaechan Ahn, Sooyong Kang, and Hyungsoo Jung. 2022. Diva: Making MVCC Systems HTAP-Friendly. In International Conference on Management of Data. ACM, 49\u201364."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_35_1","volume-title":"International Conference on Data Engineering. IEEE, 668\u2013681","author":"Liang Jie","year":"2023","unstructured":"Jie Liang, Yaoguang Chen, Zhiyong Wu, Jingzhou Fu, Mingzhe Wang, Yu Jiang, Xiangdong Huang, Ting Chen, Jiashui Wang, and Jiajia Li. 2023. Sequence-oriented DBMS fuzzing. In International Conference on Data Engineering. IEEE, 668\u2013681."},{"key":"e_1_2_1_36_1","volume-title":"Detecting Logical Bugs of DBMS with Coverage-based Guidance. In 31st USENIX Security Symposium (USENIX Security 22)","author":"Liang Yu","year":"2022","unstructured":"Yu Liang, Song Liu, and Hong Hu. 2022. Detecting Logical Bugs of DBMS with Coverage-based Guidance. In 31st USENIX Security Symposium (USENIX Security 22). USENIX Association, Boston, MA, 4309\u20134326. https:\/\/www.usenix.org\/conference\/usenixsecurity22\/presentation\/liang Last accessed September 1, 2024."},{"key":"e_1_2_1_37_1","volume-title":"Artemis: An automatic test suite generator for large scale OLAP database. In Benchmarking, Measuring, and Optimizing: Third BenchCouncil International Symposium","author":"Mi Kaiming","year":"2021","unstructured":"Kaiming Mi, Chunxi Zhang, Weining Qian, and Rong Zhang. 2021. Artemis: An automatic test suite generator for large scale OLAP database. In Benchmarking, Measuring, and Optimizing: Third BenchCouncil International Symposium. Springer, 74\u201389."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/128765.128770"},{"key":"e_1_2_1_39_1","volume-title":"Cast of string with newlines to signed\/unsigned returns unexpected result. https:\/\/bugs.mysql.com\/bug.php?id=96294 Last accessed","author":"Rigger Manuel","year":"2024","unstructured":"Manuel Rigger. 2019. Cast of string with newlines to signed\/unsigned returns unexpected result. https:\/\/bugs.mysql.com\/bug.php?id=96294 Last accessed September 1, 2024."},{"key":"e_1_2_1_40_1","volume-title":"Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ACM.","author":"Rigger Manuel","year":"2020","unstructured":"Manuel Rigger and Zhendong Su. 2020. Detecting optimization bugs in database engines via non-optimizing reference engine construction. In Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ACM."},{"key":"e_1_2_1_41_1","volume-title":"USENIX Symposium on Operating Systems Design and Implementation. USENIX Association, 667\u2013682","author":"Rigger Manuel","year":"2020","unstructured":"Manuel Rigger and Zhendong Su. 2020. Testing database engines via pivoted query synthesis. In USENIX Symposium on Operating Systems Design and Implementation. USENIX Association, 667\u2013682."},{"key":"e_1_2_1_42_1","volume-title":"International Conference on Very Large Data Bases. VLDB Endowment, 618\u2013622","author":"Slutz Donald R","year":"1998","unstructured":"Donald R Slutz. 1998. Massive stochastic testing of SQL. In International Conference on Very Large Data Bases. VLDB Endowment, 618\u2013622."},{"key":"e_1_2_1_43_1","volume-title":"International Conference on Software Engineering. IEEE","author":"Song Jiansen","year":"2023","unstructured":"Jiansen Song, Wensheng Dou, Ziyu Cui, Qianwang Dai, Wei Wang, Jun Wei, Hua Zhong, and Tao Huang. 2023. Testing database systems via differential query execution. In International Conference on Software Engineering. IEEE, 2072\u20132084."},{"key":"e_1_2_1_44_1","volume-title":"Proceedings Fourteenth Annual International Computer Software and Applications Conference. IEEE Computer Society, 132\u2013133","author":"Song Xiaohui","year":"1990","unstructured":"Xiaohui Song and Jane W-S Liu. 1990. Performance of multiversion concurrency control algorithms in maintaining temporal consistency. In Proceedings Fourteenth Annual International Computer Software and Applications Conference. IEEE Computer Society, 132\u2013133."},{"key":"e_1_2_1_45_1","first-page":"1","volume-title":"International Conference on Management of Data 1","author":"Tang Xiu","year":"2023","unstructured":"Xiu Tang, Sai Wu, Dongxiang Zhang, Feifei Li, and Gang Chen. 2023. Detecting logic bugs of join optimizations in DBMS. International Conference on Management of Data 1, 1 (2023), 1\u201326."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.3390\/app13042519"},{"key":"e_1_2_1_47_1","volume-title":"International Conference on Management of Data. ACM, 1629\u20131642","author":"Yu Xiangyao","year":"2016","unstructured":"Xiangyao Yu, Andrew Pavlo, Daniel Sanchez, and Srinivas Devadas. 2016. Tictoc: Time traveling optimistic concurrency control. In International Conference on Management of Data. ACM, 1629\u20131642."},{"key":"e_1_2_1_48_1","volume-title":"USENIX Security Symposium. USENIX Association, 2307\u20132324","author":"Yue Tai","year":"2020","unstructured":"Tai Yue, Pengfei Wang, Yong Tang, Enze Wang, Bo Yu, Kai Lu, and Xu Zhou. 2020. EcoFuzz: Adaptive energy-saving greybox fuzzing as a variant of the adversarial multi-armed bandit. In USENIX Security Symposium. USENIX Association, 2307\u20132324."},{"key":"e_1_2_1_49_1","volume-title":"Conference on Computer and Communications Security. ACM, 955\u2013970","author":"Zhong Rui","year":"2020","unstructured":"Rui Zhong, Yongheng Chen, Hong Hu, Hangfan Zhang, Wenke Lee, and Dinghao Wu. 2020. Squirrel: Testing database management systems with language validity and coverage feedback. In Conference on Computer and Communications Security. ACM, 955\u2013970."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3725688.3725713","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,29]],"date-time":"2025-08-29T14:23:11Z","timestamp":1756477391000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3725688.3725713"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,2]]},"references-count":49,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2025,2]]}},"alternative-id":["10.14778\/3725688.3725713"],"URL":"https:\/\/doi.org\/10.14778\/3725688.3725713","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2025,2]]},"assertion":[{"value":"2025-08-29","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}