Detecting Trivial Mutant Equivalences via Compiler Optimisations
Uloženo v:
| 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 |
| 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. |
|---|
Nájsť tento článok vo Web of Science