Detecting Trivial Mutant Equivalences via Compiler Optimisations

Uloženo v:
Podrobná bibliografie
Název: Detecting Trivial Mutant Equivalences via Compiler Optimisations
Autoři: Kintis, M, Papadakis, M, Jia, Y, Malevris, N, Le Traon, Y, Harman, M
Zdroj: IEEE Transactions on Software Engineering , 44 (4) pp. 308-333. (2018)
Rok vydání: 2018
Sbírka: University College London: UCL Discovery
Témata: Java, Testing, Optimization, Syntactics, Program processors, Electronic mail, Mutation Testing, Equivalent Mutants, Duplicated Mutants, Compiler Optimisation
Popis: Mutation testing realises the idea of fault-based testing, i.e., using artificial defects to guide the testing process. It is used to evaluate the adequacy of test suites and to guide test case generation. It is a potentially powerful form of testing, but it is well-known that its effectiveness is inhibited by the presence of equivalent mutants. We recently studied Trivial Compiler Equivalence (TCE) as a simple, fast and readily applicable technique for identifying equivalent mutants for C programs. In the present work, we augment our findings with further results for the Java programming language. TCE can remove a large portion of all mutants because they are determined to be either equivalent or duplicates of other mutants. In particular, TCE equivalent mutants account for 7.4% and 5.7% of all C and Java mutants, while duplicated mutants account for a further 21% of all C mutants and 5.4% Java mutants, on average. With respect to a benchmark ground truth suite (of known equivalent mutants), approximately 30% (for C) and 54% (for Java) are TCE equivalent. It is unsurprising that results differ between languages, since mutation characteristics are language-dependent. In the case of Java, our new results suggest that TCE may be particularly effective, finding almost half of all equivalent mutants.
Druh dokumentu: article in journal/newspaper
Popis souboru: text
Jazyk: English
Relation: https://discovery.ucl.ac.uk/id/eprint/1573723/7/Jia_07882714.pdf; https://discovery.ucl.ac.uk/id/eprint/1573723/
Dostupnost: https://discovery.ucl.ac.uk/id/eprint/1573723/7/Jia_07882714.pdf
https://discovery.ucl.ac.uk/id/eprint/1573723/
Rights: open
Přístupové číslo: edsbas.520C129E
Databáze: BASE
Popis
Abstrakt:Mutation testing realises the idea of fault-based testing, i.e., using artificial defects to guide the testing process. It is used to evaluate the adequacy of test suites and to guide test case generation. It is a potentially powerful form of testing, but it is well-known that its effectiveness is inhibited by the presence of equivalent mutants. We recently studied Trivial Compiler Equivalence (TCE) as a simple, fast and readily applicable technique for identifying equivalent mutants for C programs. In the present work, we augment our findings with further results for the Java programming language. TCE can remove a large portion of all mutants because they are determined to be either equivalent or duplicates of other mutants. In particular, TCE equivalent mutants account for 7.4% and 5.7% of all C and Java mutants, while duplicated mutants account for a further 21% of all C mutants and 5.4% Java mutants, on average. With respect to a benchmark ground truth suite (of known equivalent mutants), approximately 30% (for C) and 54% (for Java) are TCE equivalent. It is unsurprising that results differ between languages, since mutation characteristics are language-dependent. In the case of Java, our new results suggest that TCE may be particularly effective, finding almost half of all equivalent mutants.