Computer Science Colloquium
Date/Time: | Thursday, 06 Mar 2014 at 3:40 pm |
---|---|
Location: | B29 Atanasoff Hall |
Cost: | Free |
Phone: | 515-294-4377 |
Channel: | College of Liberal Arts and Sciences |
Categories: | Lectures |
Actions: | Download iCal/vCal | Email Reminder |
Bio
Dr. Wei Le is an assistant professor in the B. Thomas Golisano College of Computing and Information Sciences at the Rochester Institute of Technology. She received her Ph.D. in Computer Science from the University of Virginia in 2010. Her research focuses on program analysis and testing for software reliability, security and productivity.
Currently, her research program covers the areas of analyzing program changes and program versions for bug detection and diagnosis, analyzing Android apps for security and reliability, analyzing Internet scale code repositories for software reuse and knowledge, and analyzing programs for trade offs between accuracy and performance. Dr. Le has published papers in ICSE, FSE, TOSEM, TSE and ISSTA, and is a winner of NSF Career Award (2014), Google Faculty Research Award (2011), FSE Best Presentation Award (2008) and Google Anita Borg Memorial Scholarship (2007).
More: http://phd.gccis.rit.edu/weile/
Abstract
One of the important challenges in developing software is to manage 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 symbolic analysis framework for automatically detecting the occurrence and propagation of a fault. The framework integrates the novel techniques of demand-driven symbolic analysis and multi-version control flow graphs for scalability, as well as segmented, path-based analysis for precision. It applies 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 used to understand and diagnose faults. 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. At the end of the talk, I will discuss several directions of my current and future research projects.