A recent survey conducted among developers of the Apache, Eclipse, and Mozilla projects showed that the ability to recreate field failures--failures of the software that occur after deployment, on user machines--is considered of fundamental importance when investigating bug reports. Unfortunately, the information typically contained in a bug report, such as memory dumps or call stacks, is usually insufficient for recreating the problem. Even more advanced approaches for gathering field data and help in-house debugging tend to provide too little information to developers and to be therefore ineffective.

The overall goal of this project is to improve the state of the art by allowing, supporting, and partially automating, actual in-house debugging of field failures. Specifically, this research will develop novel techniques and tools that let developers reproduce, analyze, and understand, in-house, failures observed in the field. Given a field failure, the developed techniques will (1) collect a suitable set of data about the failure on the user machine, (2) generate one or more inputs that can be executed against the failing application and result in a failure analogous to the one observed, and (3) provide hints on the root causes of the failure and possible fixes for these causes. To achieve this goal, the research will combine static and dynamic program analysis techniques and leverage and extend techniques for testing deployed software, input generation and anonymization, and software debugging. If successful, this research will provide unprecedented advantages to developers by allowing them to debug field failures in the same way in which they debug in-house ones, which will improve software quality and benefit all segments of society that depend on software. Furthermore, the project will develop and make available to the broader scientific community educational materials that incorporate research findings, tools that implement the techniques developed within the project, and samples of the software benchmarks used in empirical evaluations. The availability of curriculum materials, tools, infrastructure, and benchmarks will advance knowledge, enable additional research in the area, and ultimately further benefit society.

Project Start
Project End
Budget Start
2013-09-01
Budget End
2017-08-31
Support Year
Fiscal Year
2013
Total Cost
$434,999
Indirect Cost
Name
Georgia Tech Research Corporation
Department
Type
DUNS #
City
Atlanta
State
GA
Country
United States
Zip Code
30332