Title: Automated Fault Localization: Current Research and Future Directions
Dr. Mary Jean Harrold
ADVANCE Professor of Computing and the Associate Dean for Faculty Affairs in the College of Computing at Georgia Tech
Host: Laura Dillon
The high cost of locating faults in software motivates the development of techniques that assist in fault localization--the task of finding the places in the code that must be changed to fix the faults. Fault-localization techniques attempt to automate this task by modeling the software using runtime information, and using these models to compute the suspiciousness of parts of the software. The effectiveness of these techniques depends on the type of information gathered, the way in which that information is used to compute the suspiciousness, and the composition of the test suite that is used to produce the runtime information. We have developed techniques that gather information at runtime, such as simple coverage, and techniques that gather more complex information, such as dependencies and state. Our techniques then use this runtime information to build statistical models on which we compute suspiciousness. We have shown that our techniques are useful for locating both single and multiple faults in the software. We have studied empirically the effectiveness of these different types of runtime information on the fault localization, and shown that our techniques outperform other existing techniques. We have also investigated the way in which the composition of the test suite affects the effectiveness of the fault localization, and shown that the test-suite composition is an important factor in the fault localization.
In this talk, I will describe our fault-localization techniques and discuss the results of the empirical studies that demonstrate the effectiveness of the techniques relative to other techniques, the impact of using different types of coverage, and the implications of the test-suite composition. I will also discuss remaining problems in the area of fault localization and discuss next steps in assisting in debugging, such as fault comprehension, fault diagnosis, and fault repair.
Mary Jean Harrold is the ADVANCE Professor of Computing and the Associate Dean for Faculty Affairs in the College of Computing at Georgia Tech. She performs research in analysis and testing of large evolving software, in fault localization and failure identification using statistical analysis, machine learning, and visualization, and in monitoring deployed software to improve quality. She has received funding for her research from government agencies, such as NSF and NASA, and industries, such as Boeing Commercial Airplanes, Tata Consultancy Services, IBM, and Microsoft. She served on the editorial boards of ACM TOPLAS and TOSEM and JSTVR, served as program chair for the ACM ISSTA 2000, program co-chair of the ACM/IEEE ICSE 2001, and general chair for ACM SIGSOFT FSE 2008. She also serves as a member of the Board of Directors for the Computing Research Association (CRA). Professor Harrold actively works to increase the participation of women in computing. She is a member, and past co-chair, of CRA-W and a member of the Leadership Team of the National Center for Women and Information Technology (NCWIT). Professor Harrold received an NSF NYI Award and was named an ACM Fellow. She received the Ph.D. in computer science from the University of Pittsburgh.