Computer Science Colloquia
Wednesday, April 16, 2014
Advisor: Westley Weimer
Attending Faculty: Worthy Martin, Chair; Jack Davidson, Stephanie Forrest, and Greg Gerling (Minor Representative)
9:00 AM Wilsdorf Hall, Rm. 200
PhD Dissertation Defense Presentation
Leveraging Lightweight Analyses to Aid Software Maintenance
While software systems have become a fundamental part of modern life, they require maintenance to continually function properly and to adapt
to potential environment changes. Software maintenance, a dominant cost in the software lifecycle, includes both adding new functionality and fixing existing problems, or “bugs”, in a system. Software bugs cost the world's economy billions of dollars annually in terms of system down-time and the effort required to fix them.
This dissertation presents software maintenance techniques that reduce the cost of both finding and fixing bugs, with an emphasis on comprehensive, human-centric evaluation. The work in this thesis uses lightweight analyses to leverage latent information inherent in existing software artifacts. As a result, the associated techniques are both scalable and widely applicable to existing systems. The first of these techniques clusters highly-related, automatically- generated defect reports to aid in the process of bug triage and repair. This clustering approach is complimented by an automatic program repair technique that generates and validates candidate defect patches by making sweeping optimizations to a state-of-the-art automatic bug fixing framework. To fully evaluate these techniques, experiments are performed that show net cost savings for both the clustering and program repair approaches while also suggesting that actual human developers both agree with the resulting defect report clusters and also are able to understand and use automatically-generated patches.