Automated Support for Reproducing and Debugging Field Failures

28 Jan
Wednesday, 01/28/2015 11:00am to 12:00pm
Distinguished Lecturer Series

Alessandro (Alex) Orso
Georgia Institute of Technology
College of Computing - School of Computer Science

Computer Science Building, Room 151

Faculty Host: Yuriy Brun

As confirmed by a recent survey conducted among developers of the Apache, Eclipse, and Mozilla projects, two extremely challenging tasks during maintenance are reproducing and debugging field failures--failures that occur on user machines after release. In the last few years, we have developed a family of techniques that can help developers with these tasks. In this talk, I will give an overview of our work in this area and present in detail two of these techniques: BugRedux and F3. BugRedux is a general technique for reproducing field failures that collects dynamic data about failing executions in the field and uses this data to synthesize executions that mimic the observed field failures. F3 leverages the executions generated by BugRedux to perform automated fault-localization using a set of suitably optimized techniques. In addition to presenting these techniques, I will also present the results of an empirical evaluation that we performed on a set of real-world programs and field failures. The results of our evaluation are promising in that, for all the failures considered, our approach was able to (1) synthesize failing executions that mimicked the observed field failures and passing executions similar to such failures and (2) use the synthesized executions successfully to perform fault localization and produce accurate results. I will conclude my talk with a discussion of our latest results, open challenges, and future research directions.

Bio: Alessandro Orso is a Professor in the College of Computing at the Georgia Institute of Technology. He received his M.S. degree in Electrical Engineering (1995) and his Ph.D. in Computer Science (1999) from Politecnico di Milano, Italy. From March 2000, he has been at Georgia Tech. His area of research is software engineering, with emphasis on software testing and program analysis. His interests include the development of techniques and tools for improving software reliability, security, and trustworthiness, and the validation of such techniques on real-world systems. Dr. Orso has received funding for his research from government agencies, such as NSF and the Department of Homeland Security, and industries, such as Fujitsu Labs, Google, IBM, and Microsoft. He serves on the editorial boards of ACM TOSEM and on the Advisory Board of Reflective Corp, served as program chair or co-chair for ACM-SIGSOFT ISSTA 2010, IEEE ICST 2013, and ACM-SIGSOFT FSE 2014, and will serve as program co-chair for ACM-SIGSOFT/IEEE ICSE 2017. He has also served as a technical consultant to DARPA. Dr. Orso is a senior member of the ACM and of the IEEE Computer Society.

A reception will be held at 3:40 in the atrium, outside the presentation room.