{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T07:50:34Z","timestamp":1740124234285,"version":"3.37.3"},"reference-count":52,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2019,7,10]],"date-time":"2019-07-10T00:00:00Z","timestamp":1562716800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2019,7,10]],"date-time":"2019-07-10T00:00:00Z","timestamp":1562716800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Software Qual J"],"published-print":{"date-parts":[[2020,6]]},"DOI":"10.1007\/s11219-019-09453-6","type":"journal-article","created":{"date-parts":[[2019,7,10]],"date-time":"2019-07-10T09:07:00Z","timestamp":1562749620000},"page":"853-887","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Extending symbolic execution for automated testing of stored procedures"],"prefix":"10.1007","volume":"28","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8690-3670","authenticated-orcid":false,"given":"Maryam","family":"Abdul Ghafoor","sequence":"first","affiliation":[]},{"given":"Muhammad Suleman","family":"Mahmood","sequence":"additional","affiliation":[]},{"given":"Junaid Haroon","family":"Siddiqui","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,7,10]]},"reference":[{"key":"9453_CR1","doi-asserted-by":"crossref","unstructured":"Barrett, C., & Tinelli, C. (2007). CVC3. In Proceedings 19th international conference on computer aided verification (CAV) (pp. 298\u2013302).","DOI":"10.1007\/978-3-540-73368-3_34"},{"key":"9453_CR2","doi-asserted-by":"crossref","unstructured":"Binnig, C., Kossmann, D., Lo, E. (2007). Reverse query processing. In IEEE 23rd international conference on data engineering (ICDE) (pp. 506\u2013515).","DOI":"10.1109\/ICDE.2007.367896"},{"issue":"7","key":"9453_CR3","doi-asserted-by":"publisher","first-page":"775","DOI":"10.1002\/(SICI)1097-024X(200006)30:7<775::AID-SPE309>3.0.CO;2-H","volume":"30","author":"WR Bush","year":"2000","unstructured":"Bush, W.R., Pincus, J.D., Sielaff, D.J. (2000). A static analyzer for finding dynamic programming errors. Software Practice Experience, 30(7), 775\u2013802.","journal-title":"Software Practice Experience"},{"key":"9453_CR4","doi-asserted-by":"crossref","unstructured":"Cadar, C., & Engler, D. (2005). Execution generated test cases: how to make systems code crash itself. In Proceedings of the international SPIN workshop on model checking of software (pp. 2\u201323).","DOI":"10.1007\/11537328_2"},{"key":"9453_CR5","doi-asserted-by":"crossref","unstructured":"Cadar, C., Ganesh, V., Pawlowski, P.M., Dill, D.L., Engler, D.R. (2006). EXE: automatically generating inputs of death. In Proc 13th Conference on computer and communications security (CCS) (pp. 322\u2013335).","DOI":"10.1145\/1180405.1180445"},{"key":"9453_CR6","unstructured":"Cadar, C., Dunbar, D., Engler, D.R. (2008). KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of the 8th symposium on operating systems design and implementation (OSDI) (pp. 209\u2013224)."},{"key":"9453_CR7","doi-asserted-by":"crossref","unstructured":"Castelein, J., Aniche, M., Soltani, M., Panichella, A., van Deursen, A. (2018). Search-based test data generation for sql queries. In Proceedings of the 40th international conference on software engineering (pp. 1230\u20131230). ACM.","DOI":"10.1145\/3180155.3180202"},{"key":"9453_CR8","first-page":"363","volume":"99","author":"M-Y Chan","year":"1999","unstructured":"Chan, M.-Y., & Cheung, S-C. (1999). Testing database applications with sql semantics. CODAS, 99, 363\u2013374.","journal-title":"CODAS"},{"issue":"7","key":"9453_CR9","doi-asserted-by":"publisher","first-page":"1758","DOI":"10.1016\/j.future.2012.02.006","volume":"29","author":"T Chen","year":"2013","unstructured":"Chen, T., Zhang, X.-S., Guo, S.-Z., Li, H.g.-Y., Wu, Y. (2013). State of the art: dynamic symbolic execution for automated test generation. Future Generation Computer Systems, 29(7), 1758\u20131773.","journal-title":"Future Generation Computer Systems"},{"key":"9453_CR10","doi-asserted-by":"crossref","unstructured":"Clarke, L.A. (1976a). A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering (TSE), 2(3), 215\u2013222.","DOI":"10.1109\/TSE.1976.233817"},{"key":"9453_CR11","unstructured":"Clarke, L.A. (1976b). Test data generation and symbolic execution of programs as an aid to program validation. PhD thesis, University of Colorado at Boulder."},{"key":"9453_CR12","doi-asserted-by":"crossref","unstructured":"De La Riva, C, Su\u00e1rez-Cabal, MJ, Tuya, J. (2010). Constraint-based test database generation for SQL queries. In Proceedings of the 5th workshop on automation of software testing (pp. 67\u201374).","DOI":"10.1145\/1808266.1808276"},{"key":"9453_CR13","doi-asserted-by":"crossref","unstructured":"de Moura, L, & Bj\u00f8rner, N. (2008). Z3: an efficient SMT solver. In International conference on tools and algorithms for the construction and analysis of systems (TACAS) (pp. 337\u2013340).","DOI":"10.1007\/978-3-540-78800-3_24"},{"key":"9453_CR14","doi-asserted-by":"crossref","unstructured":"Deng, Y, Frankl, P, Chays, D. (2005). Testing database transactions with AGENDA. In Proceedings of the 27th international conference on software engineering (pp. 78\u201387).","DOI":"10.1145\/1062455.1062486"},{"key":"9453_CR15","doi-asserted-by":"crossref","unstructured":"Elkarablieh, B., Garcia, I., Suen, Y.L., Khurshid, S. (2007). Assertion-based repair of complex data structures. In Proceedings of the 22nd international conference on automated software engineering (ASE) (pp. 64\u201373).","DOI":"10.1145\/1321631.1321643"},{"key":"9453_CR16","doi-asserted-by":"crossref","unstructured":"Emmi, M., Majumdar, R., Sen, K. (2007). Dynamic test input generation for database applications. In Proceedings of the 2007 international symposium on software testing and analysis (pp. 151\u2013162).","DOI":"10.1145\/1273463.1273484"},{"key":"9453_CR17","doi-asserted-by":"crossref","unstructured":"Ghafoor, M.A., Mahmood, M.S., Siddiqui, J.H. (2016). Effective partial order reduction in model checking database applications. In 2016 IEEE international conference on software testing, verification and validation (ICST) (pp. 146\u2013156). IEEE.","DOI":"10.1109\/ICST.2016.25"},{"key":"9453_CR18","doi-asserted-by":"crossref","unstructured":"Godefroid, P. (2007). Compositional dynamic test generation. In Proceedings of the 34th symposium on principles of programming languages (POPL) (pp. 47\u201354).","DOI":"10.1145\/1190216.1190226"},{"key":"9453_CR19","doi-asserted-by":"crossref","unstructured":"Godefroid, P., Klarlund, N., Sen, K. (2005). DART: directed automated random testing. In Proceedings of the 2005 conference on programming languages design and implementation (PLDI) (pp. 213\u2013223).","DOI":"10.1145\/1065010.1065036"},{"issue":"2","key":"9453_CR20","doi-asserted-by":"publisher","first-page":"256","DOI":"10.1145\/505145.505149","volume":"11","author":"D Jackson","year":"2002","unstructured":"Jackson, D. (2002). Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM), 11(2), 256\u2013290.","journal-title":"ACM Transactions on Software Engineering and Methodology (TOSEM)"},{"key":"9453_CR21","doi-asserted-by":"crossref","unstructured":"Khalek, SA, & Khurshid, S. (2011). Systematic testing of database engines using a relational constraint solver. In Proceedings of the fourth IEEE international conference on software testing, verification and validation (ICST) (pp. 50\u201359).","DOI":"10.1109\/ICST.2011.21"},{"key":"9453_CR22","doi-asserted-by":"crossref","unstructured":"Khurshid, S., Pasareanu, C.S., Visser, W. (2003). Generalized symbolic execution for model checking and testing. In Proceedings of the 9th international conference on tools and algorithms for the construction and analysis of systems (TACAS) (pp. 553\u2013568).","DOI":"10.1007\/3-540-36577-X_40"},{"issue":"7","key":"9453_CR23","doi-asserted-by":"publisher","first-page":"385","DOI":"10.1145\/360248.360252","volume":"19","author":"JC King","year":"1976","unstructured":"King, J. C. (1976). Symbolic execution and program testing. Communications ACM, 19(7), 385\u2013394.","journal-title":"Communications ACM"},{"key":"9453_CR24","doi-asserted-by":"crossref","unstructured":"Li, C, & Csallner, C. (2010). Dynamic symbolic database application testing. In Proceedings of the third international workshop on testing database systems (DBTest).","DOI":"10.1145\/1838126.1838133"},{"key":"9453_CR25","doi-asserted-by":"crossref","unstructured":"Mahmood, MS, Ghafoor, M, Siddiqui, JH. (2016). Symbolic execution of stored procedures in database management systems. In 2016 31st IEEE\/ACM international conference on automated software engineering (ASE) (pp. 519\u2013530). IEEE.","DOI":"10.1145\/2970276.2970318"},{"key":"9453_CR26","doi-asserted-by":"crossref","unstructured":"Marcozzi, M., Vanhoof, W., Hainaut, J.-L. (2013). A relational symbolic execution algorithm for constraint-based testing of database programs. In IEEE 13th international working conference on source code analysis and manipulation (SCAM) (pp. 179\u2013188).","DOI":"10.1109\/SCAM.2013.6648200"},{"key":"9453_CR27","doi-asserted-by":"crossref","unstructured":"Marcozzi, M., Vanhoof,W., Hainaut, J.-L. (2014). Towards testing of full-scale SQL applications using relational symbolic execution. In Proceedings of the 6th international workshop on constraints in software testing, verification, and analysis (pp. 12\u201317).","DOI":"10.1145\/2593735.2593738"},{"key":"9453_CR28","doi-asserted-by":"publisher","first-page":"44","DOI":"10.1016\/j.scico.2015.03.005","volume":"105","author":"M Marcozzi","year":"2015","unstructured":"Marcozzi, M., Vanhoof, W., Hainaut, J.-L. (2015). Relational symbolic execution of sql code for unit testing of database programs. Science of Computer Programming, 105, 44\u201372.","journal-title":"Science of Computer Programming"},{"key":"9453_CR29","unstructured":"Matthew, N, & Stones, R. (2005). Beginning Databases with PostgreSQL. Apress."},{"key":"9453_CR30","unstructured":"McMinn, P., Wright, C.J., Kapfhammer, G.M. (2015). An analysis of the effectiveness of different coverage criteria for testing relational database schema integrity constraints. Department of Computer Science, University of Sheffield, Tech. Rep."},{"issue":"03","key":"9453_CR31","first-page":"598","volume":"3","author":"MA Mohamed","year":"2014","unstructured":"Mohamed, M.A., Altrafi, O.G., Ismail, M.O. (2014). Relational vs. nosql databases: a survey. International Journal of Computer and Information Technology, 3(03), 598\u2013601.","journal-title":"International Journal of Computer and Information Technology"},{"key":"9453_CR32","doi-asserted-by":"crossref","unstructured":"Pan, K., Wu, X., Xie, T. (2011). Database state generation via dynamic symbolic execution for coverage criteria. In Proceedings of the fourth international workshop on testing database systems (p. 4).","DOI":"10.1145\/1988842.1988846"},{"issue":"2","key":"9453_CR33","doi-asserted-by":"publisher","first-page":"12","DOI":"10.1145\/2491529","volume":"23","author":"K Pan","year":"2014","unstructured":"Pan, K., Wu, X., Xie, T. (2014). Guided test generation for database applications via synthesized database interactions. ACM Transactions on Software Engineering and Methodology (TOSEM), 23(2), 12.","journal-title":"ACM Transactions on Software Engineering and Methodology (TOSEM)"},{"issue":"4","key":"9453_CR34","doi-asserted-by":"publisher","first-page":"439","DOI":"10.1007\/s10515-014-0158-y","volume":"22","author":"K Pan","year":"2015","unstructured":"Pan, K., Wu, X., Xie, T. (2015). Program-input generation for testing database applications using existing database states. Automated Software Engineering, 22(4), 439\u2013473.","journal-title":"Automated Software Engineering"},{"key":"9453_CR35","doi-asserted-by":"crossref","unstructured":"Person, S., Yang, G., Rungta, N., Khurshid, S. (2011). Directed incremental symbolic execution. In Proceedings of the 2011 conference on programming languages design and implementation (PLDI) (pp. 504\u2013515).","DOI":"10.1145\/1993498.1993558"},{"key":"9453_CR36","doi-asserted-by":"crossref","unstructured":"Ramos, DA, & Engler, DR. (2011). Practical, low-effort equivalence verification of real code. In Proceedings of the 23rd international conference on computer aided verification (CAV) (pp. 669\u2013 685).","DOI":"10.1007\/978-3-642-22110-1_55"},{"key":"9453_CR37","doi-asserted-by":"crossref","unstructured":"Sen, K, Marinov, D, Agha, G. (2005). CUTE: a concolic unit testing engine for C. In Proceedings of the 5th joint meeting of the European software engineering conference and symposium on foundations of software engineering (ESEC\/FSE) (pp. 263\u2013272).","DOI":"10.1145\/1081706.1081750"},{"key":"9453_CR38","doi-asserted-by":"crossref","unstructured":"Seo, C, Malek, S, Medvidovic, N. (2008). Component-level energy consumption estimation for distributed java-based software systems. In Proceedings of the 11th international symposium on component-based software engineering (pp. 97\u2013113).","DOI":"10.1007\/978-3-540-87891-9_7"},{"key":"9453_CR39","unstructured":"Siddiqui, JH, & Khurshid, S. (2010). ParSym: parallel symbolic execution. In Proceedings of the 2nd international conference on software technology and engineering (ICSTE) (pp. pages V1: 405\u2013 409)."},{"key":"9453_CR40","doi-asserted-by":"crossref","unstructured":"Siddiqui, JH, & Khurshid, S. (2012a). Staged symbolic execution. In Proceedings of the 27th symposium on applied computing (SAC): software verification and testing track (SVT).","DOI":"10.1145\/2245276.2231988"},{"key":"9453_CR41","doi-asserted-by":"crossref","unstructured":"Siddiqui, JH, & Khurshid, S. (2012b). Scaling symbolic execution using ranged analysis. In Proceedings of the 27th annual conference on object oriented programming systems, languages, and applications (OOPSLA).","DOI":"10.1145\/2384616.2384654"},{"key":"9453_CR42","volume-title":"Database system concepts (Vol. 4)","author":"A Silberschatz","year":"1997","unstructured":"Silberschatz, A, Korth, HF, Sudarshan, S, et al. (1997). Database system concepts (Vol. 4). New York: McGraw-Hill."},{"key":"9453_CR43","unstructured":"S\u00f6rensson, N, & Een, N. (2003). An extensible SAT-solver. In Proceedings of the 6th international conference on theory and applications of satisfiability testing (SAT) (pp. 502\u2013518)."},{"key":"9453_CR44","doi-asserted-by":"crossref","unstructured":"Staats, M, & Pa\u030csa\u030creanu, C. (2010). Parallel symbolic execution for structural test generation. In Proceedings of the 19th international symposium on software testing and analysis (ISSTA) (pp. 183\u2013194).","DOI":"10.1145\/1831708.1831732"},{"issue":"4","key":"9453_CR45","doi-asserted-by":"publisher","first-page":"719","DOI":"10.1007\/s10515-017-0212-7","volume":"24","author":"MJ Su\u00e1rez-Cabal","year":"2017","unstructured":"Su\u00e1rez-Cabal, M J, de la Riva, C, Tuya, J, Blanco, R. (2017). Incremental test data generation for database queries. Automated Software Engineering, 24(4), 719\u2013755.","journal-title":"Automated Software Engineering"},{"key":"9453_CR46","doi-asserted-by":"crossref","unstructured":"Tsumura, K, Washizaki, H, Fukazawa, Y, Oshima, K, Mibe, R. (2016). Pairwise coverage-based testing with selected elements in a query for database applications. In 2016 IEEE ninth international conference on software testing, verification and validation workshops (ICSTW) (pp. 92\u2013101). IEEE.","DOI":"10.1109\/ICSTW.2016.19"},{"issue":"3","key":"9453_CR47","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1002\/stvr.424","volume":"20","author":"J Tuya","year":"2010","unstructured":"Tuya, J, Su\u00e1rez-Cabal, MJ, de la Riva, C. (2010). Full predicate coverage for testing SQL database queries. Journal of Software Testing, Verification and Reliability, 20(3), 237\u2013288.","journal-title":"Journal of Software Testing, Verification and Reliability"},{"key":"9453_CR48","doi-asserted-by":"crossref","unstructured":"Veanes, M, Grigorenko, P, De Halleux, P, Tillmann, N. (2009). Symbolic query exploration. In Formal methods and software engineering (pp. 49\u201368). Springer.","DOI":"10.1007\/978-3-642-10373-5_3"},{"key":"9453_CR49","doi-asserted-by":"publisher","unstructured":"Wei, K., Muthuprasanna, M., Kothari, S. (2006). Preventing sql injection attacks in stored procedures. In Proceedings of the Australian software engineering conference (ASWEC). ISBN 0-7695-2551-2. https:\/\/doi.org\/10.1109\/ASWEC.2006.40 (pp. 191\u2013198).","DOI":"10.1109\/ASWEC.2006.40"},{"key":"9453_CR50","doi-asserted-by":"publisher","unstructured":"Yang, G, P\u0103s\u0103reanu, C S, Khurshid, S. (2012). Memoized symbolic execution. In Proceedings of the 2012 international symposium on software testing and analysis (ISSTA), ISSTA 2012. ISBN 978-1-4503-1454-1. https:\/\/doi.org\/10.1145\/2338965.2336771 . (pp. 144\u2013154).","DOI":"10.1145\/2338965.2336771"},{"key":"9453_CR51","doi-asserted-by":"crossref","unstructured":"Zhang, J, Xu, C, Cheung, S-C. (2001). Automatic generation of database instances for white-box testing. In 25th annual international computer software and applications conference, 2001. COMPSAC 2001 (pp. 161\u2013165). IEEE.","DOI":"10.1109\/CMPSAC.2001.960612"},{"issue":"4","key":"9453_CR52","doi-asserted-by":"publisher","first-page":"366","DOI":"10.1145\/267580.267590","volume":"29","author":"H Zhu","year":"1997","unstructured":"Zhu, H., Hall, P.A.V., May, J.H.R. (1997). Software unit test coverage and adequacy. ACM Computing Surveys (CSUR), 29(4), 366\u2013427.","journal-title":"ACM Computing Surveys (CSUR)"}],"container-title":["Software Quality Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11219-019-09453-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11219-019-09453-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11219-019-09453-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,1,11]],"date-time":"2021-01-11T03:57:38Z","timestamp":1610337458000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11219-019-09453-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,7,10]]},"references-count":52,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,6]]}},"alternative-id":["9453"],"URL":"https:\/\/doi.org\/10.1007\/s11219-019-09453-6","relation":{},"ISSN":["0963-9314","1573-1367"],"issn-type":[{"type":"print","value":"0963-9314"},{"type":"electronic","value":"1573-1367"}],"subject":[],"published":{"date-parts":[[2019,7,10]]},"assertion":[{"value":"10 July 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}