TY - GEN
T1 - Is the stack distance between test case and method correlated with test effectiveness?
AU - Niedermayr, Rainer
AU - Wagner, Stefan
N1 - Publisher Copyright:
© 2019 Copyright held by the owner/author(s).
PY - 2019/4/15
Y1 - 2019/4/15
N2 - Mutation testing is a means to assess the effectiveness of a test suite and its outcome is considered more meaningful than code coverage metrics. However, despite several optimizations, mutation testing requires a significant computational effort and has not been widely adopted in industry. Therefore, we study in this paper whether test effectiveness can be approximated using a more light-weight approach. We hypothesize that a test case is more likely to detect faults in methods that are close to the test case on the call stack than in methods that the test case accesses indirectly through many other methods. Based on this hypothesis, we propose the minimal stack distance between test case and method as a new test measure, which expresses how close any test case comes to a given method, and study its correlation with test effectiveness. We conducted an empirical study with 21 open-source projects, which comprise in total 1.8 million LOC, and show that a correlation exists between stack distance and test effectiveness. The correlation reaches a strength up to 0.58. We further show that a classifier using the minimal stack distance along with additional easily computable measures can predict the mutation testing result of a method with 92.9% precision and 93.4% recall. Hence, such a classifier can be taken into consideration as a light-weight alternative to mutation testing or as a preceding, less costly step to that.
AB - Mutation testing is a means to assess the effectiveness of a test suite and its outcome is considered more meaningful than code coverage metrics. However, despite several optimizations, mutation testing requires a significant computational effort and has not been widely adopted in industry. Therefore, we study in this paper whether test effectiveness can be approximated using a more light-weight approach. We hypothesize that a test case is more likely to detect faults in methods that are close to the test case on the call stack than in methods that the test case accesses indirectly through many other methods. Based on this hypothesis, we propose the minimal stack distance between test case and method as a new test measure, which expresses how close any test case comes to a given method, and study its correlation with test effectiveness. We conducted an empirical study with 21 open-source projects, which comprise in total 1.8 million LOC, and show that a correlation exists between stack distance and test effectiveness. The correlation reaches a strength up to 0.58. We further show that a classifier using the minimal stack distance along with additional easily computable measures can predict the mutation testing result of a method with 92.9% precision and 93.4% recall. Hence, such a classifier can be taken into consideration as a light-weight alternative to mutation testing or as a preceding, less costly step to that.
KW - Minimal stack distance
KW - Mutation test prediction
KW - Software testing
KW - Test effectiveness
KW - Test metrics
UR - http://www.scopus.com/inward/record.url?scp=85064727770&partnerID=8YFLogxK
U2 - 10.1145/3319008.3319021
DO - 10.1145/3319008.3319021
M3 - Conference contribution
AN - SCOPUS:85064727770
T3 - ACM International Conference Proceeding Series
SP - 189
EP - 198
BT - Proceedings of EASE 2019 - Evaluation and Assessment in Software Engineering
PB - Association for Computing Machinery
T2 - 23rd Evaluation and Assessment in Software Engineering Conference, EASE 2019
Y2 - 14 April 2019 through 17 April 2019
ER -