TY - GEN
T1 - A synergistic analysis method for explaining failed regression tests
AU - Yi, Qiuping
AU - Yang, Zijiang
AU - Liu, Jian
AU - Zhao, Chen
AU - Wang, Chao
N1 - Publisher Copyright:
© 2015 IEEE.
PY - 2015/8/12
Y1 - 2015/8/12
N2 - We propose a new automated debugging method for regression testing based on a synergistic application of both dynamic and semantic analysis. Our method takes a failure- inducing test input, a buggy program, and an earlier correct version of the same program, and computes a minimal set of code changes responsible for the failure, as well as explaining how the code changes lead to the failure. Although this problem has been the subject of intensive research in recent years, existing methods are rarely adopted by developers in practice since they do not produce sufficiently accurate fault explanations for real applications. Our new method is significantly faster and more accurate than existing methods for explaining failed regression tests in real applications, due to its synergistic analysis framework that iteratively applies both dynamic analysis and a constraint solver based semantic analysis to leverage their complementary strengths. We have implemented our new method in a software tool based on the LLVMcompiler and the KLEE symbolic virtual machine. Our experiments on large real Linux applications show that the new method is both efficient and effective in practice.
AB - We propose a new automated debugging method for regression testing based on a synergistic application of both dynamic and semantic analysis. Our method takes a failure- inducing test input, a buggy program, and an earlier correct version of the same program, and computes a minimal set of code changes responsible for the failure, as well as explaining how the code changes lead to the failure. Although this problem has been the subject of intensive research in recent years, existing methods are rarely adopted by developers in practice since they do not produce sufficiently accurate fault explanations for real applications. Our new method is significantly faster and more accurate than existing methods for explaining failed regression tests in real applications, due to its synergistic analysis framework that iteratively applies both dynamic analysis and a constraint solver based semantic analysis to leverage their complementary strengths. We have implemented our new method in a software tool based on the LLVMcompiler and the KLEE symbolic virtual machine. Our experiments on large real Linux applications show that the new method is both efficient and effective in practice.
UR - https://www.scopus.com/pages/publications/84951783722
U2 - 10.1109/ICSE.2015.46
DO - 10.1109/ICSE.2015.46
M3 - 会议稿件
AN - SCOPUS:84951783722
T3 - Proceedings - International Conference on Software Engineering
SP - 251
EP - 267
BT - Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015
PB - IEEE Computer Society
T2 - 37th IEEE/ACM International Conference on Software Engineering, ICSE 2015
Y2 - 16 May 2015 through 24 May 2015
ER -