Author :
Yilmaz, Cemal ; Paradkar, Amit ; Williams, Clay
Author_Institution :
IBM T. J. Watson Res. Center, Hawthorne, NY
Abstract :
We present an automatic fault localization technique which leverages time spectra as abstractions for program executions. Time spectra have been traditionally used for performance debugging. By contrast, we use them for functional correctness debugging by identifying pieces of program code that take a "suspicious" amount of time to execute. The approach can be summarized as follows: time spectra are collected from passing and failing runs, observed behavior models are created using the time spectra collected from passing runs, and deviations from these models in failing runs are identified and scored as potential causes of failures. Our empirical evaluations conducted on three real-life projects suggest that the proposed approach can effectively reduce the space of potential root causes for failures, which can in turn improve the turn around time for fixes.
Keywords :
fault diagnosis; program debugging; automatic fault localization; functional correctness debugging; performance debugging; program execution abstractions; time spectra; Automatic testing; Computer bugs; Debugging; Information analysis; Monitoring; Permission; automated debugging; fault localization;
Conference_Titel :
Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on
Conference_Location :
Leipzig
Print_ISBN :
978-1-4244-4486-1
Electronic_ISBN :
0270-5257
DOI :
10.1145/1368088.1368100