TY - GEN
T1 - Failure proximity
T2 - 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering
AU - Liu, Chao
AU - Han, Jiawei
N1 - Copyright:
Copyright 2008 Elsevier B.V., All rights reserved.
PY - 2006
Y1 - 2006
N2 - Recent software systems usually feature an automated failure reporting system, with which a huge number of failing traces are collected every day. In order to prioritize fault diagnosis, failing traces due to the same fault are expected to be grouped together. Previous methods, by hypothesizing that similar failing traces imply the same fault, cluster failing traces based on the literal trace similarity, which we call trace proximity. However, since a fault can be triggered in many ways, failing traces due to the same fault can be quite different. Therefore, previous methods actually group together traces exhibiting similar behaviors, like similar branch coverage, rather than traces due to the same fault. In this paper, we propose a new type of failure proximity, called R-Proximity, which regards two failing traces as similar if they suggest roughly the same fault location. The fault location each failing case suggests is automatically obtained with Sober, an existing statistical debugging tool. We show that with R-Proximity, failing traces due to the same fault can be grouped together. In addition, we find that R-Proximity is helpful for statistical debugging: It can help developers interpret and utilize the statistical debugging result. We illustrate the usage of R-Proximity with a case study on the grep program and some experiments on the Siemens suite, and the result clearly demonstrates the advantage of R-Proximity over trace proximity. Copyright ACM 2006.
AB - Recent software systems usually feature an automated failure reporting system, with which a huge number of failing traces are collected every day. In order to prioritize fault diagnosis, failing traces due to the same fault are expected to be grouped together. Previous methods, by hypothesizing that similar failing traces imply the same fault, cluster failing traces based on the literal trace similarity, which we call trace proximity. However, since a fault can be triggered in many ways, failing traces due to the same fault can be quite different. Therefore, previous methods actually group together traces exhibiting similar behaviors, like similar branch coverage, rather than traces due to the same fault. In this paper, we propose a new type of failure proximity, called R-Proximity, which regards two failing traces as similar if they suggest roughly the same fault location. The fault location each failing case suggests is automatically obtained with Sober, an existing statistical debugging tool. We show that with R-Proximity, failing traces due to the same fault can be grouped together. In addition, we find that R-Proximity is helpful for statistical debugging: It can help developers interpret and utilize the statistical debugging result. We illustrate the usage of R-Proximity with a case study on the grep program and some experiments on the Siemens suite, and the result clearly demonstrates the advantage of R-Proximity over trace proximity. Copyright ACM 2006.
KW - Debugging aids
KW - Failure proximity
KW - Statistical debugging
UR - http://www.scopus.com/inward/record.url?scp=34547311281&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34547311281&partnerID=8YFLogxK
U2 - 10.1145/1181775.1181782
DO - 10.1145/1181775.1181782
M3 - Conference contribution
AN - SCOPUS:34547311281
SN - 1595934685
SN - 9781595934680
T3 - Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering
SP - 46
EP - 56
BT - Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering
Y2 - 5 November 2006 through 11 November 2006
ER -