Recovering Latent Expert Knowledge of Software Patch Quality

PhD Thesis Proposal Defence


Title: "Recovering Latent Expert Knowledge of Software Patch Quality"

by

Miss Yida TAO


Abstract:

Software patches are essential for software development and evolution. To 
safeguard their quality, newly submitted patches typically go through a series 
of quality assurance steps, such as code review and testing, before they can be 
integrated into the code base. Despite the wide adoption of code review and 
testing, little empirical knowledge of patch quality from software 
practitioners' perspective has been provided. Consequently, targeted tool 
support for improving patch quality is hindered.

In this dissertation, we present empirical investigations on software 
practitioners' perspective of patch quality. First, we conduct a large-scale 
exploratory study with Microsoft engineers to investigate industrial practice 
in understanding patches. Second, by inspecting Eclipse and Mozilla patches and 
surveying their developers, we investigate why patches are rejected by code 
reviewers and the severity of patch-rejection reasons.

Based on our empirical findings, we propose approaches to improve the quality 
of a software patch in terms of its atomicity and completeness. First, we 
combine program slicing and pattern matching techniques to automatically 
decompose non-atomic patches. Our approach renders promising results in both 
quantitative and qualitative evaluation. Second, we propose a two-phase model 
to predict files to be included in a bug-fix patch. Our model outperforms three 
other prediction models and on average 70% of its predictions point to the 
correct files.

In addition to human-written patches, we also investigate the quality of 
automatically generated patches produced by program repair techniques. We 
conduct a large-scale human study, in which 95 software practitioners use 
automatically generated patches as debugging aids. Our regression analysis on 
337 data points reveals the impact of patch quality on debugging performance, 
while our qualitative analysis on participants' feedback provides further 
insights on how to effectively apply automatically generated patches.

The primary contribution of this dissertation includes 1) in-depth empirical 
investigations to reveal software practitioners' perspective of patch quality; 
2) approaches to improve patch atomicity and completeness; and 3) a human study 
to explore the impact of the quality of automatically generated patches under 
the context of debugging.


Date:			Wednesday, 11 February 2015

Time:                   3:30pm - 5:30pm

Venue:                  Room 4483
                        lifts 25/26

Committee Members:	Dr. Sunghun Kim (Supervisor)
 			Dr. Charles Zhang (Chairperson)
 			Prof. Shing-Chi Cheung
 			Prof. Frederick Lochovsky


**** ALL are Welcome ****