Correlating automatic static analysis and mutation testing: towards incremental strategies
Keywords:Software testing, Warnings, Mutants, Static analysis, Mutation testing, Static analyzer evaluation
Traditionally, mutation testing is used as test set generation and/or test evaluation criteria once it is considered a good fault model. This paper uses mutation testing for evaluating an automated static analyzer. Since static analyzers, in general, report a substantial number of false positive warnings, the intention of this study is to define a prioritization approach of static warnings based on their correspondence with mutations. On the other hand, knowing that Mutation Test has a high application cost, another possibility is to try to identify mutations of some specific mutation operators, which an automatic static analyzer is not adequate to detect. Therefore, this information can be used to prioritize the order of incrementally applying mutation operators considering, firstly, those with no correspondence with static warnings. In both cases, contributing to the establishment of incremental strategies on using automatic static analysis or mutation testing or even a combination of them.;Methods
We used mutation operators as a fault model to evaluate the direct correspondence between mutations and static warnings. The main advantage of using mutation operators is that they generate a large number of programs containing faults of different types, which can be used to decide the ones most probable to be detected by static analyzers.;
How to Cite
Copyright (c) 2021 Cláudio A. Araújo, Marcio E. Delamaro, José C. Maldonado, Auri M. R. Vincenzi
This work is licensed under a Creative Commons Attribution 4.0 International License.