Computer Studies Bldg. 209
A Practical, Path-Based Framework for Detecting and Diagnosing Software Faults
One of the important challenges in developing software is the avoidance of software faults. Since a
fault occurs along an execution path, program path information is essential for both detecting and
diagnosing a fault. Manual inspection can identify a path where a fault occurs; however, the approach
does not scale. Dynamic techniques, such as testing, are also effective in finding faulty paths, but
only in a sampled space. In this talk, I present a practical framework that statically detects faults in
path segments. The framework applies an interprocedural, demand-driven analysis to address the
precision and scalability challenges of static path computation. It integrates a specification technique
that enables automatic generation of analyses for detecting different types of faults. In the second
part of my talk, I describe how the computed path information can be applied to automate the
diagnostic tasks. In particular, I demonstrate that detecting fault correlation—a causal relationship
between faults—can help prioritize and group faults, and that my analysis is able to automatically
detect such relationships.
Bio: Wei Le is an assistant professor at the PhD program in Computing and Information Sciences at the
Rochester Institute of Technology. Wei received her Ph.D. in Computer Science from the University
of Virginia in December 2010. Her research focuses on developing automatic, practical solutions for
improving software reliability and security, covering the areas of program analysis, software testing
and software security. Wei received the best presentation award at the 16th ACM SIGSOFT
International Symposium on the Foundation of Software Engineering and also is a recipient of a
Google Anita Borg Memorial Scholarship.
Refreshments will be provided at 10:45AM