{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,14]],"date-time":"2026-03-14T09:02:51Z","timestamp":1773478971470,"version":"3.50.1"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2014,3,1]],"date-time":"2014-03-01T00:00:00Z","timestamp":1393632000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2014,3]]},"abstract":"<jats:p>\n            Testing database applications typically requires the generation of tests consisting of both program inputs and database states. Recently, a testing technique called Dynamic Symbolic Execution (DSE) has been proposed to reduce manual effort in test generation for software applications. However, applying DSE to generate tests for database applications faces various technical challenges. For example, the database application under test needs to physically connect to the associated database, which may not be available for various reasons. The program inputs whose values are used to form the executed queries are not treated symbolically, posing difficulties for generating valid database states or appropriate database states for achieving high coverage of query-result-manipulation code. To address these challenges, in this article, we propose an approach called\n            <jats:italic>SynDB<\/jats:italic>\n            that synthesizes new database interactions to replace the original ones from the database application under test. In this way, we bridge various constraints within a database application: query-construction constraints, query constraints, database schema constraints, and query-result-manipulation constraints. We then apply a state-of-the-art DSE engine called Pex for .NET from Microsoft Research to generate both program inputs and database states. The evaluation results show that tests generated by our approach can achieve higher code coverage than existing test generation approaches for database applications.\n          <\/jats:p>","DOI":"10.1145\/2491529","type":"journal-article","created":{"date-parts":[[2014,4,8]],"date-time":"2014-04-08T12:24:20Z","timestamp":1396959860000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":24,"title":["Guided test generation for database applications via synthesized database interactions"],"prefix":"10.1145","volume":"23","author":[{"given":"Kai","family":"Pan","sequence":"first","affiliation":[{"name":"University of North Carolina at Charlotte, Charlotte, NC"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xintao","family":"Wu","sequence":"additional","affiliation":[{"name":"University of North Carolina at Charlotte, Charlotte, NC"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tao","family":"Xie","sequence":"additional","affiliation":[{"name":"University of Illinois at Urbana-champaign, Urbana, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,4,4]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the International Conference on Very Large Data Bases (VLDB). 1026--1036","author":"Ahmed Rafi","year":"2006","unstructured":"Rafi Ahmed , Allison W. Lee , Andrew Witkowski , Dinesh Das , Hong Su , Mohamed Za\u00eft , and Thierry Cruanes . 2006 . Cost-based query transformation in Oracle . In Proceedings of the International Conference on Very Large Data Bases (VLDB). 1026--1036 . Rafi Ahmed, Allison W. Lee, Andrew Witkowski, Dinesh Das, Hong Su, Mohamed Za\u00eft, and Thierry Cruanes. 2006. Cost-based query transformation in Oracle. In Proceedings of the International Conference on Very Large Data Bases (VLDB). 1026--1036."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2007.367896"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1247480.1247520"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029894.1029929"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.v14:1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1385269.1385277"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2011.6100056"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233817"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/255656.255698"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the International Conference on Very Large Data Bases (VLDB). 197--208","author":"Dayal U.","year":"1987","unstructured":"U. Dayal . 1987 . Of nests and trees: A unified approach to processing queries that contain nested subqueries, aggregates, and quantifiers . In Proceedings of the International Conference on Very Large Data Bases (VLDB). 197--208 . U. Dayal. 1987. Of nests and trees: A unified approach to processing queries that contain nested subqueries, aggregates, and quantifiers. In Proceedings of the International Conference on Very Large Data Bases (VLDB). 197--208."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1808266.1808276"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062486"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273463.1273484"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065036"},{"key":"e_1_2_1_15_1","unstructured":"R. L. Goodstein. 2007. Boolean Algebra. Dover Publications.  R. L. Goodstein. 2007. Boolean Algebra. Dover Publications."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2010.13"},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the IEEE International Conference on Data Engineering (ICDE). 876--879","author":"Gupta Bhanu Pratap","unstructured":"Bhanu Pratap Gupta , Devang Vira , and S. Sudarshan . 2010. X-data: Generating test data for killing SQL mutants . In Proceedings of the IEEE International Conference on Data Engineering (ICDE). 876--879 . Bhanu Pratap Gupta, Devang Vira, and S. Sudarshan. 2010. X-data: Generating test data for killing SQL mutants. In Proceedings of the IEEE International Conference on Data Engineering (ICDE). 876--879."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2006.27"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2008.34"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/319732.319745"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/360248.360252"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1838126.1838133"},{"key":"e_1_2_1_23_1","volume-title":"Pex: Dynamic analysis and test generation for","year":"2007","unstructured":"Microsoft. 2007 . Pex: Dynamic analysis and test generation for . NET. Microsoft Research Foundation of Software Engineering Group . Microsoft. 2007. Pex: Dynamic analysis and test generation for .NET. Microsoft Research Foundation of Software Engineering Group."},{"key":"e_1_2_1_24_1","volume-title":"http:\/\/msdn.microsoft.com\/en-us\/library\/system.data. datatable.aspx. (Last accessed","author":"Microsoft","year":"2012","unstructured":"Microsoft. 2012a. DataTable. Microsoft MSDN. http:\/\/msdn.microsoft.com\/en-us\/library\/system.data. datatable.aspx. (Last accessed May 2012 ). Microsoft. 2012a. DataTable. Microsoft MSDN. http:\/\/msdn.microsoft.com\/en-us\/library\/system.data. datatable.aspx. (Last accessed May 2012)."},{"key":"e_1_2_1_25_1","unstructured":"Microsoft. 2012b. .NET framework data provider for SQL server. Microsoft MSDN. (May 2012).  Microsoft. 2012b. .NET framework data provider for SQL server. Microsoft MSDN. (May 2012)."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1988842.1988846"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2011.6100152"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081750"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025143"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1858996.1859053"},{"key":"e_1_2_1_31_1","volume-title":"The economic impacts of inadequate infrastructure for software testing. Tech. Repport. NIST Planning. 02-3","author":"Tassey G.","unstructured":"G. Tassey . 2002. The economic impacts of inadequate infrastructure for software testing. Tech. Repport. NIST Planning. 02-3 , National Institute of Standards and Technology . G. Tassey. 2002. The economic impacts of inadequate infrastructure for software testing. Tech. Repport. NIST Planning. 02-3, National Institute of Standards and Technology."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/1792786.1792798"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2006.51"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.v20:3"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-10373-5_3"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134301"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/IDEAS.2005.45"},{"key":"e_1_2_1_38_1","first-page":"595","article-title":"Privacy preserving database generation for database application testing","volume":"78","author":"Wu Xintao","year":"2007","unstructured":"Xintao Wu , Yongge Wang , Songtao Guo , and Yuliang Zheng . 2007 . Privacy preserving database generation for database application testing . Fundam. Inform. 78 , 4, 595 -- 612 . Xintao Wu, Yongge Wang, Songtao Guo, and Yuliang Zheng. 2007. Privacy preserving database generation for database application testing. Fundam. Inform. 78, 4, 595--612.","journal-title":"Fundam. Inform."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2009.5270315"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2011.158"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2009.43"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2011.63"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2491529","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2491529","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:28:50Z","timestamp":1750231730000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2491529"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,3]]},"references-count":42,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2014,3]]}},"alternative-id":["10.1145\/2491529"],"URL":"https:\/\/doi.org\/10.1145\/2491529","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,3]]},"assertion":[{"value":"2012-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-04-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}