TY - GEN
T1 - Improving bug localization using correlations in crash reports
AU - Wang, Shaohua
AU - Khomh, Foutse
AU - Zou, Ying
PY - 2013
Y1 - 2013
N2 - Nowadays, many software organizations rely on automatic problem reporting tools to collect crash reports directly from users' environments. These crash reports are later grouped together into crash types. Usually, developers prioritize crash types based on the number of crash reports and file bugs for the top crash types. Because a bug can trigger a crash in different usage scenarios, different crash types are sometimes related to a same bug. Two bugs are correlated when the occurrence of one bug causes the other bug to occur. We refer to a group of crash types related to identical or correlated bugs, as a crash correlation group. In this paper, we propose three rules to identify correlated crash types automatically. We also propose an algorithm to locate and rank buggy files using crash correlation groups. Through an empirical study on Firefox and Eclipse, we show that the three rules can identify crash correlation groups with a precision of 100% and a recall of 90% for Firefox and a precision of 79% and a recall of 65% for Eclipse. On the top three buggy file candidates, the proposed bug localization algorithm achieves a recall of 62% and a precision of 42% for Firefox and a recall of 52% and a precision of 50% for Eclipse. On the top 10 buggy file candidates, the recall increases to 92% for Firefox and 90% for Eclipse. Developers can combine the proposed crash correlation rules with the new bug localization algorithm to identify and fix correlated crash types all together.
AB - Nowadays, many software organizations rely on automatic problem reporting tools to collect crash reports directly from users' environments. These crash reports are later grouped together into crash types. Usually, developers prioritize crash types based on the number of crash reports and file bugs for the top crash types. Because a bug can trigger a crash in different usage scenarios, different crash types are sometimes related to a same bug. Two bugs are correlated when the occurrence of one bug causes the other bug to occur. We refer to a group of crash types related to identical or correlated bugs, as a crash correlation group. In this paper, we propose three rules to identify correlated crash types automatically. We also propose an algorithm to locate and rank buggy files using crash correlation groups. Through an empirical study on Firefox and Eclipse, we show that the three rules can identify crash correlation groups with a precision of 100% and a recall of 90% for Firefox and a precision of 79% and a recall of 65% for Eclipse. On the top three buggy file candidates, the proposed bug localization algorithm achieves a recall of 62% and a precision of 42% for Firefox and a recall of 52% and a precision of 50% for Eclipse. On the top 10 buggy file candidates, the recall increases to 92% for Firefox and 90% for Eclipse. Developers can combine the proposed crash correlation rules with the new bug localization algorithm to identify and fix correlated crash types all together.
KW - Automatic problem reporting tools
KW - Bug correlation
KW - Bug localization
KW - Crash reports
KW - Crashes
KW - Stack traces
UR - http://www.scopus.com/inward/record.url?scp=84888986854&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84888986854&partnerID=8YFLogxK
U2 - 10.1109/MSR.2013.6624036
DO - 10.1109/MSR.2013.6624036
M3 - Conference contribution
AN - SCOPUS:84888986854
SN - 9781467329361
T3 - IEEE International Working Conference on Mining Software Repositories
SP - 247
EP - 256
BT - 2013 10th Working Conference on Mining Software Repositories, MSR 2013 - Proceedings
T2 - 10th International Working Conference on Mining Software Repositories, MSR 2013
Y2 - 18 May 2013 through 19 May 2013
ER -