Abstract
Several recent research projects have developed new testing techniques targeted to database application programs, a widely used class of programs with some unique characteristics. Mutation testing, focused on interactions between an application and a database, presents a promising approach to evaluating test adequacy and to evaluating the effectiveness of other test generation and test adequacy criteria. Prior work on database application mutation techniques has focused exclusively on SELECT statements, which extract data without modifying the database state. Extending the techniques to updating statements, INSERT, DELETE, and UPDATE, is challenging because it's necessary to compare the behavior of mutants when executed against the same database state, but each mutant execution changes the database state. This paper presents inferential checking, a new technique for determining whether mutants of an updating statement are killed, without actually executing the mutants. Queries are automatically derived from updating statements and their mutants, characterizing the state change that would occur if the statement were executed. Results of these queries are compared to determine which mutants are killed. The paper presents the technique, its implementation for Java/JDBC applications, and empirical evaluation demonstrating that it is efficient, precise, and useful
Original language | English (US) |
---|---|
Title of host publication | Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011 |
Pages | 259-268 |
Number of pages | 10 |
DOIs | |
State | Published - 2011 |
Event | 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011 - Berlin, Germany Duration: Mar 21 2011 → Mar 25 2011 |
Other
Other | 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011 |
---|---|
Country | Germany |
City | Berlin |
Period | 3/21/11 → 3/25/11 |
Fingerprint
Keywords
- database application testing
- empirical evaluation
- java/jdbc
- mutation testing
ASJC Scopus subject areas
- Software
Cite this
Inferential checking for mutants modifying database states. / Zhou, Chixiang; Frankl, Phyllis.
Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011. 2011. p. 259-268 5770615.Research output: Chapter in Book/Report/Conference proceeding › Conference contribution
}
TY - GEN
T1 - Inferential checking for mutants modifying database states
AU - Zhou, Chixiang
AU - Frankl, Phyllis
PY - 2011
Y1 - 2011
N2 - Several recent research projects have developed new testing techniques targeted to database application programs, a widely used class of programs with some unique characteristics. Mutation testing, focused on interactions between an application and a database, presents a promising approach to evaluating test adequacy and to evaluating the effectiveness of other test generation and test adequacy criteria. Prior work on database application mutation techniques has focused exclusively on SELECT statements, which extract data without modifying the database state. Extending the techniques to updating statements, INSERT, DELETE, and UPDATE, is challenging because it's necessary to compare the behavior of mutants when executed against the same database state, but each mutant execution changes the database state. This paper presents inferential checking, a new technique for determining whether mutants of an updating statement are killed, without actually executing the mutants. Queries are automatically derived from updating statements and their mutants, characterizing the state change that would occur if the statement were executed. Results of these queries are compared to determine which mutants are killed. The paper presents the technique, its implementation for Java/JDBC applications, and empirical evaluation demonstrating that it is efficient, precise, and useful
AB - Several recent research projects have developed new testing techniques targeted to database application programs, a widely used class of programs with some unique characteristics. Mutation testing, focused on interactions between an application and a database, presents a promising approach to evaluating test adequacy and to evaluating the effectiveness of other test generation and test adequacy criteria. Prior work on database application mutation techniques has focused exclusively on SELECT statements, which extract data without modifying the database state. Extending the techniques to updating statements, INSERT, DELETE, and UPDATE, is challenging because it's necessary to compare the behavior of mutants when executed against the same database state, but each mutant execution changes the database state. This paper presents inferential checking, a new technique for determining whether mutants of an updating statement are killed, without actually executing the mutants. Queries are automatically derived from updating statements and their mutants, characterizing the state change that would occur if the statement were executed. Results of these queries are compared to determine which mutants are killed. The paper presents the technique, its implementation for Java/JDBC applications, and empirical evaluation demonstrating that it is efficient, precise, and useful
KW - database application testing
KW - empirical evaluation
KW - java/jdbc
KW - mutation testing
UR - http://www.scopus.com/inward/record.url?scp=79958737164&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79958737164&partnerID=8YFLogxK
U2 - 10.1109/ICST.2011.63
DO - 10.1109/ICST.2011.63
M3 - Conference contribution
AN - SCOPUS:79958737164
SN - 9780769543420
SP - 259
EP - 268
BT - Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011
ER -