More about HKUST
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 ****