Inferential checking for mutants modifying database states

Chixiang Zhou, Phyllis Frankl

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    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 languageEnglish (US)
    Title of host publicationProceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011
    Pages259-268
    Number of pages10
    DOIs
    StatePublished - 2011
    Event4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011 - Berlin, Germany
    Duration: Mar 21 2011Mar 25 2011

    Other

    Other4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011
    CountryGermany
    CityBerlin
    Period3/21/113/25/11

    Fingerprint

    Testing
    Application programs

    Keywords

    • database application testing
    • empirical evaluation
    • java/jdbc
    • mutation testing

    ASJC Scopus subject areas

    • Software

    Cite this

    Zhou, C., & Frankl, P. (2011). Inferential checking for mutants modifying database states. In Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011 (pp. 259-268). [5770615] https://doi.org/10.1109/ICST.2011.63

    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 proceedingConference contribution

    Zhou, C & Frankl, P 2011, Inferential checking for mutants modifying database states. in Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011., 5770615, pp. 259-268, 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011, Berlin, Germany, 3/21/11. https://doi.org/10.1109/ICST.2011.63
    Zhou C, Frankl P. Inferential checking for mutants modifying database states. In Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011. 2011. p. 259-268. 5770615 https://doi.org/10.1109/ICST.2011.63
    Zhou, Chixiang ; Frankl, Phyllis. / Inferential checking for mutants modifying database states. Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011. 2011. pp. 259-268
    @inproceedings{7041b058be8b497fb8ed9e82703e96d0,
    title = "Inferential checking for mutants modifying database states",
    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",
    keywords = "database application testing, empirical evaluation, java/jdbc, mutation testing",
    author = "Chixiang Zhou and Phyllis Frankl",
    year = "2011",
    doi = "10.1109/ICST.2011.63",
    language = "English (US)",
    isbn = "9780769543420",
    pages = "259--268",
    booktitle = "Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011",

    }

    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 -