Fault localization and failure detection are important activities in assessing
and maintaining the quality of software systems. Techniques to locate faults
and identify failures typically require significant manual effort. Our techniques
gather runtime information about the program's execution to automatically predict
when failures are occurring and then to guide the developer in locating faults.
The techniques use both static (compile-time) and dynamic (runtime) information
about program, along with statistics and machine learning to accomplish the tasks.
In this talk, I will overview these techniques, place them in context with the
rest of the software development process, discuss some scenarios of their
usage, and provide some empirical evaluation of their effectiveness.
Bio
Mary Jean Harrold is the NSF ADVANCE Professor of Computing at Georgia Tech.
She performs research in analysis and testing of large, evolving software,
fault-localization using statistical analysis and visualization, monitoring
deployed software to improve quality, and software self-awareness through
real-time assessment and response. Professor Harrold received an NSF NYI
Award and was named an ACM Fellow. She serves on the editorial board of
ACM TOPLAS and ACM TOSEM, on the Board of Directors for the Computing Research
Association (CRA), as Vice Chair of ACM SIGSOFT, as co-chair of the CRA Committee
on the Status of Women in Computing (CRA-W) and a member of the Leadership Team of
the National Center for Women and Information Technology. She received the
Ph.D. from the University of Pittsburgh.