Computer systems are pervasive in all aspects of modern society. The software running on these systems, however, is difficult to implement correctly, and many failures occur after software is already released to the public. Unfortunately, these "post-deployment" failures are often the most difficult to fix. Failing runs are difficult to reproduce and analyze, as information about these failures is much more difficult and costly to obtain than failures occurring before software release. The PI's research will address this problem by making post-deployment failures more informative without sacrificing the end-user experience.

Specifically, the project will tackle this problem on two fronts. First, deployed programs will perform low-cost, customizable tracing to enhance core memory dumps produced by failures. The project will investigate methods using both static and dynamic analysis to reduce the cost and improve the utility of traced information. Second, the enhanced memory dumps will require development of powerful new automated postmortem analyses to partially automate the process of debugging and program understanding. These analysis results can then be used to further inform useful tracing strategies via dynamic feedback from previous failures. Thus, information about a particular post-deployment fault could continually improve as more failures are observed. This automated iterative improvement of postmortem analyses has the potential to substantially reduce effort required to fix post-deployment faults, thus leading to faster and more accurate patches, resulting in greater reliability for the software we all rely upon in our daily lives.

Project Start
Project End
Budget Start
2014-09-01
Budget End
2020-08-31
Support Year
Fiscal Year
2014
Total Cost
$477,833
Indirect Cost
Name
University of Wisconsin Madison
Department
Type
DUNS #
City
Madison
State
WI
Country
United States
Zip Code
53715