Advanced Debugging Techniques for Modern Software

Monday, January 25, 2010 - 3:19pm


Wednesday, January 27, 2010
3:30 – 4:30
Computer Science Conference Room, Harold Frank Hall Rm. 1132

HOST: Christopher Kruegel and Giovanni Vigna

SPEAKER: Alex Orso
Associate Professor, College of Computing
Georgia Institute of Technology

Title: Advanced Debugging Techniques for Modern Software


Debugging, which consists of identifying and removing software faults,
is a human-intensive activity responsible for much of the cost of
software maintenance. This is especially true for today’s software,
whose complexity, configurability, portability, and dynamism exacerbate
debugging challenges. Existing approaches for automated debugging can
help lower this cost, but have limitations that hinder their
effectiveness and applicability in real scenarios. The work presented in
this talk is part of a broader project that aims to overcome these
limitations by (1) targeting realistic debugging scenarios, in which
faults can involve multiple statements and manifest themselves only in
specific contexts, (2) applying advanced static and dynamic analysis
techniques to automatically reduce the amount of both statements and
inputs that developers must examine when investigating a failure, and
(3) leveraging information collected from the field to increase the
relevance and effectiveness of the debugging process. We will present
the results we obtained so far in the project, which include the
development of novel techniques for recording, minimizing, and replaying
executions captured on users’ machines, sanitizing execution recordings,
and automatically identifying failure-relevant inputs. We will also
present the result of the empirical evaluation of such techniques on
real software, using real faults, and in real settings. Finally, we will
discuss our current and future research directions.


Alessandro Orso is an associate 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, first as a research faculty and now as an associate
professor. His area of research is software engineering, with emphasis
on software testing and 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
systems. Dr. Orso is a member of the ACM and the IEEE Computer Society.