{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T19:00:48Z","timestamp":1774983648138,"version":"3.50.1"},"reference-count":66,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2025,2,10]],"date-time":"2025-02-10T00:00:00Z","timestamp":1739145600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100006374","name":"Japan Society for the Promotion of Science","doi-asserted-by":"publisher","award":["Kakenhi JP23K17456, JP23K25157, JP23K28096"],"award-info":[{"award-number":["Kakenhi JP23K17456, JP23K25157, JP23K28096"]}],"id":[{"id":"10.13039\/501100006374","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100006374","name":"Japan Science and Technology Agency","doi-asserted-by":"publisher","award":["CREST JPMJCR22M2"],"award-info":[{"award-number":["CREST JPMJCR22M2"]}],"id":[{"id":"10.13039\/501100006374","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Manag. Data"],"published-print":{"date-parts":[[2025,2,10]]},"abstract":"<jats:p>Existing what-if analysis systems are predominantly tailored to operate on either only the application layer or only the database layer of software. This isolated approach limits their effectiveness in scenarios where intensive interaction between applications and database systems occurs. To address this gap, we introduce Ultraverse, a what-if analysis framework that seamlessly integrates both application and database layers. Ultraverse employs dynamic symbolic execution to effectively translate application code into compact SQL procedure representations, thereby synchronizing application semantics at both SQL and application levels during what-if replays. A novel aspect of Ultraverse is its use of advanced query dependency analysis, which serves two key purposes: (1) it eliminates the need to replay irrelevant transactions that do not influence the outcome, and (2) it facilitates parallel replay of mutually independent transactions, significantly enhancing the analysis efficiency. Ultraverse is applicable to existing unmodified database systems and legacy application codes. Our extensive evaluations of the framework have demonstrated remarkable improvements in what-if analysis speed, achieving performance gains ranging from 7.7x to 291x across diverse benchmarks.<\/jats:p>","DOI":"10.1145\/3709734","type":"journal-article","created":{"date-parts":[[2025,2,11]],"date-time":"2025-02-11T15:45:06Z","timestamp":1739288706000},"page":"1-27","source":"Crossref","is-referenced-by-count":1,"title":["Ultraverse: An Efficient What-if Analysis Framework for Software Applications Interacting with Database Systems"],"prefix":"10.1145","volume":"3","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1282-5208","authenticated-orcid":false,"given":"Ronny","family":"Ko","sequence":"first","affiliation":[{"name":"Osaka University, Osaka, Kansai, Japan, Ohio State University, Columbus, USA, and Sensor Tech Inc., Daejeon, Republic of Korea"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7239-5134","authenticated-orcid":false,"given":"Chuan","family":"Xiao","sequence":"additional","affiliation":[{"name":"Osaka University, Osaka, Japan and Nagoya University, Nagoya, Japan"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5559-8300","authenticated-orcid":false,"given":"Makoto","family":"Onizuka","sequence":"additional","affiliation":[{"name":"Osaka University, Osaka, Japan"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6527-5994","authenticated-orcid":false,"given":"Zhiqiang","family":"Lin","sequence":"additional","affiliation":[{"name":"The Ohio State University, Columbus, OH, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8717-8343","authenticated-orcid":false,"given":"Yihe","family":"Huang","sequence":"additional","affiliation":[{"name":"Databricks, San Francisco, USA"}]}],"member":"320","published-online":{"date-parts":[[2025,2,11]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"1179","volume-title":"VLDB","author":"Alexe B.","year":"2006","unstructured":"B. Alexe, L. Chiticariu, andW.-C. Tan. Spider: A schema mapping debugger. In VLDB, pages 1179--1182, 2006."},{"key":"e_1_2_1_2_1","volume-title":"Astore: ecommerce web","author":"Pham Anh","year":"2023","unstructured":"Anh Pham. Astore: ecommerce web, 2023. https:\/\/github.com\/anhpham1509\/eCommerceWeb."},{"key":"e_1_2_1_3_1","unstructured":"Apache Iceberg 2024. https:\/\/iceberg.apache.org\/."},{"key":"e_1_2_1_4_1","volume-title":"Supported Sources and More","author":"Pte Atlan","year":"2024","unstructured":"Atlan Pte. Ltd. DataHub Column-Level Lineage: Features, Supported Sources and More, 2024. https:\/\/atlan.com\/know\/ data-catalog\/datahub\/column-level-lineage\/."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP40001.2021.00077"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the Sixth Conference on Uncertainty in Artificial Intelligence","author":"T. BALL, J.","unstructured":"T. BALL, J. DANIEL, and T. Ball. Deconstructing dynamic symbolic execution. Technical Report MSR-TR-2015--95, January 2015. Proceedings of the Sixth Conference on Uncertainty in Artificial Intelligence, Boston, MA."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/645926.672016"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-005-0156-6"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/377674.377665"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2016.7498289"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01231700"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/645504.656274"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3514221.3526138"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043567"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685092"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462180"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1066157.1066296"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/357775.357777"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/862872"},{"key":"e_1_2_1_20_1","first-page":"715","volume-title":"VLDB","author":"Daudjee K.","year":"2006","unstructured":"K. Daudjee and K. Salem. Lazy database replication with snapshot isolation. In VLDB, pages 715--726, 2006."},{"key":"e_1_2_1_21_1","volume-title":"CIDR","author":"Deutch D.","year":"2013","unstructured":"D. Deutch, Z. Ives, T. Milo, and V. Tannen. Caravan: Provisioning for what-if analysis. In CIDR, 2013."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732240.2732246"},{"key":"e_1_2_1_23_1","unstructured":"DPDK Project. Ring Library 2019. https:\/\/doc.dpdk.org\/guides\/prog_guide\/ring_lib.html."},{"key":"e_1_2_1_24_1","volume-title":"Tableau 201: How to Make a What-If Analysis Using Parameters","year":"2024","unstructured":"Evolytics. Tableau 201: How to Make a What-If Analysis Using Parameters, 2024. https:\/\/evolytics.com\/blog\/tableau-201-how-to-make-a-what-if-analysis-using-parameters\/."},{"issue":"11","key":"e_1_2_1_25_1","first-page":"1190","article-title":"Rethinking serializable multiversion concurrency control","volume":"8","author":"Abadi J.M.","year":"2015","unstructured":"J.M.FaleiroandD. J. Abadi. Rethinking serializable multiversion concurrency control. Proc.VLDBEndow., 8(11):1190--1201, jul 2015.","journal-title":"Proc.VLDBEndow."},{"key":"e_1_2_1_26_1","unstructured":"Felix Campbell. What-if Reproducibility 2023. https:\/\/github.com\/fsalc\/whatif-reproducibility."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3514221.3520175"},{"key":"e_1_2_1_28_1","volume-title":"Built-in functions for atomic memory access","author":"GCC","year":"2019","unstructured":"GCC GNU. Built-in functions for atomic memory access, 2019. https:\/\/gcc.gnu.org\/onlinedocs\/gcc-4.1.0\/gcc\/Atomic- Builtins.html."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2001420.2001424"},{"key":"e_1_2_1_30_1","unstructured":"Google Inc. Puppeteer 2015. https:\/\/pptr.dev\/."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1247480.1247631"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3034786.3056125"},{"key":"e_1_2_1_33_1","first-page":"1186","volume-title":"ICDE","author":"Hong C.","year":"2013","unstructured":"C. Hong, D. Zhou, M. Yang, C. Kuo, L. Zhang, and L. Zhou. KuaFu: Closing the parallelism gap in database replication. In ICDE, pages 1186--1195, 2013."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-019-00594-5"},{"key":"e_1_2_1_35_1","first-page":"1","volume-title":"Introduction to temporal database research. Temporal database management","author":"Jensen C.","year":"2000","unstructured":"C. Jensen. Introduction to temporal database research. Temporal database management, pages 1--29, 2000."},{"key":"e_1_2_1_36_1","volume-title":"The Right AndWrongWays To Use 'What-If' Analysis","author":"Shapiro Joel","year":"2020","unstructured":"Joel Shapiro. The Right AndWrongWays To Use 'What-If' Analysis, 2020. https:\/\/www.forbes.com\/sites\/joelshapiro\/ 2020\/07\/28\/the-right-and-wrong-ways-to-use-what-if-analysis\/'sh=3f3617eb2b98."},{"key":"e_1_2_1_37_1","first-page":"34","article-title":"Temporal features","author":"Kulkarni K.","year":"2011","unstructured":"K. Kulkarni and J.-E. Michels. Temporal features in SQL:2011. SIGMOD Rec., 41(3):34--43, 2012.","journal-title":"SQL"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 40th International Conference on Machine Learning, ICML'23. JMLR.org","author":"Longpre S.","year":"2023","unstructured":"S. Longpre, L. Hou, T. Vu, A. Webson, H. W. Chung, Y. Tay, D. Zhou, Q. V. Le, B. Zoph, J. Wei, and A. Roberts. The flan collection: Designing data and methods for effective instruction tuning. In Proceedings of the 40th International Conference on Machine Learning, ICML'23. JMLR.org, 2023."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3092282.3092295"},{"key":"e_1_2_1_40_1","first-page":"2","author":"Sridharan Manu","year":"2023","unstructured":"Manu Sridharan. Jalangi 2, 2023. https:\/\/github.com\/Samsung\/jalangi2.","journal-title":"Jalangi"},{"key":"e_1_2_1_41_1","volume-title":"MariaDB Source Code","author":"DB.","year":"2019","unstructured":"MariaDB. MariaDB Source Code, 2019. https:\/\/mariadb.com\/kb\/en\/library\/getting-the-mariadb-source-code\/."},{"key":"e_1_2_1_42_1","volume-title":"Temporal Data Tables","author":"DB.","year":"2019","unstructured":"MariaDB. Temporal Data Tables, 2019. https:\/\/mariadb.com\/kb\/en\/library\/temporal-data-tables\/."},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213875"},{"key":"e_1_2_1_44_1","volume-title":"Introduction to What-If Analysis","year":"2024","unstructured":"Microsoft. Introduction to What-If Analysis, 2024. https:\/\/support.microsoft.com\/en-gb\/office\/introduction-to-what-ifanalysis- 22bffa5f-e891--4acc-bf7a-e4645c446fb4."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-012-0294-6"},{"key":"e_1_2_1_46_1","volume-title":"The Binary Log","year":"2023","unstructured":"Oracle. The Binary Log, 2023. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/binary-log.html\/."},{"key":"e_1_2_1_47_1","volume-title":"Tableau 201: Create What-If Analysis Using Parameters in Oracle Analytics","year":"2024","unstructured":"Oracle. Tableau 201: Create What-If Analysis Using Parameters in Oracle Analytics, 2024. https:\/\/docs.oracle.com\/en\/ cloud\/paas\/analytics-cloud\/tutorial-what-if-analysis\/index.html."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.404027"},{"key":"e_1_2_1_49_1","volume-title":"Thick Client Proxying","author":"Den Parsia's","year":"2015","unstructured":"Parsia's Den. Thick Client Proxying, 2015. https:\/\/parsiya.net\/blog\/2015--10--19-proxying-hipchat-part-3\\-ssl-addedand- removed-here\/."},{"key":"e_1_2_1_50_1","first-page":"155","volume-title":"Middleware","author":"Plattner C.","year":"2004","unstructured":"C. Plattner and G. Alonso. Ganymed: Scalable replication for transactional web applications. In Middleware, pages 155--174, 2004."},{"key":"e_1_2_1_51_1","volume-title":"A step-by-step guide on creating What-if analysis in Power BI","author":"Tubsamon Ploii","year":"2023","unstructured":"Ploii Tubsamon. A step-by-step guide on creating What-if analysis in Power BI, 2023. https:\/\/ploiitubsamon.medium. com\/a-step-by-step-guide-on-creating-what-if-analysis-in-power-bi-c5c09def5cf5."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3357223.3362702"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806598"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1016\/0097-3165(77)90082-6"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.50911"},{"key":"e_1_2_1_56_1","volume-title":"Conflict serializability in dbms","author":"Srivastava Sonal","year":"2019","unstructured":"Sonal Srivastava. Conflict serializability in dbms, 2019. https:\/\/www.geeksforgeeks.org\/conflict-serializability-in-dbms\/."},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920855"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213838"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2017.23100"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3035925"},{"key":"e_1_2_1_61_1","first-page":"519","volume-title":"VLDB","author":"Wang Y. R.","year":"1990","unstructured":"Y. R.Wang and S. E. Madnick. A polygen model for heterogeneous database systems: The source tagging perspective. In VLDB, pages 519--538, 1990."},{"key":"e_1_2_1_62_1","first-page":"1199","volume-title":"27th USENIX Security Symposium (USENIX Security 18)","author":"Webster A.","year":"2018","unstructured":"A.Webster, R. Eckenrod, and J. Purtilo. Fast and service-preserving recovery from malware infections using CRIU. In 27th USENIX Security Symposium (USENIX Security 18), pages 1199--1211, Baltimore,MD, Aug. 2018. USENIX Association."},{"key":"e_1_2_1_63_1","volume-title":"Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery","author":"Weikum G.","year":"2001","unstructured":"G.Weikum and G. Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001."},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2788018"},{"key":"e_1_2_1_65_1","first-page":"465","volume-title":"OSDI","author":"Zheng W.","year":"2014","unstructured":"W. Zheng, S. Tu, E. Kohler, and B. Liskov. Fast databases with fast durability and recovery through multicore parallelism. In OSDI, pages 465--477, 2014."},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/568271.223848"}],"container-title":["Proceedings of the ACM on Management of Data"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3709734","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3709734","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T18:17:08Z","timestamp":1774981028000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3709734"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,2,10]]},"references-count":66,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2025,2,10]]}},"alternative-id":["10.1145\/3709734"],"URL":"https:\/\/doi.org\/10.1145\/3709734","relation":{},"ISSN":["2836-6573"],"issn-type":[{"value":"2836-6573","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,2,10]]}}}