{"title":"SynConSMutate: Concolic Testing of Database Applications via Synthetic Data Guided by SQL Mutants","authors":"Tanmoy Sarkar, Samik Basu, Johnny S. K. Wong","doi":"10.1109/ITNG.2013.54","DOIUrl":null,"url":null,"abstract":"Testing techniques for database applications typically include generation of database states (synthetic data) along with automatic generation of test cases. The quality of such test cases is evaluated on the basis of structural coverage of the host language (e.g., Java), whereas, the quality of test cases for the embedded language (e.g., SQL) is evaluated separately using mutation testing. In mutation testing, several mutants or variants of the original SQL query are generated and mutation score is calculated. It is the percentage of mutants that can be differentiated in terms of their results using the given test cases. Higher mutation score indicates higher quality of the test cases. In existing approaches the generated test cases achieve high structural coverage with respect to the generated synthetic data, but suffer from low mutation score with respect to the same data. We present a novel framework called \\textit{SynConSMutate} for test case and synthetic data generation for database applications. The generated test cases with respect to the newly generated synthetic data ensure high quality not only in terms of coverage of code written in the host language, but also in terms of mutant detection of the queries written in the embedded language.","PeriodicalId":320262,"journal":{"name":"2013 10th International Conference on Information Technology: New Generations","volume":"232 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 10th International Conference on Information Technology: New Generations","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ITNG.2013.54","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Testing techniques for database applications typically include generation of database states (synthetic data) along with automatic generation of test cases. The quality of such test cases is evaluated on the basis of structural coverage of the host language (e.g., Java), whereas, the quality of test cases for the embedded language (e.g., SQL) is evaluated separately using mutation testing. In mutation testing, several mutants or variants of the original SQL query are generated and mutation score is calculated. It is the percentage of mutants that can be differentiated in terms of their results using the given test cases. Higher mutation score indicates higher quality of the test cases. In existing approaches the generated test cases achieve high structural coverage with respect to the generated synthetic data, but suffer from low mutation score with respect to the same data. We present a novel framework called \textit{SynConSMutate} for test case and synthetic data generation for database applications. The generated test cases with respect to the newly generated synthetic data ensure high quality not only in terms of coverage of code written in the host language, but also in terms of mutant detection of the queries written in the embedded language.