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 ****