More about HKUST
Utilizing Code Change Information for Better Automated Debugging
The Hong Kong University of Science and Technology Department of Computer Science and Engineering PhD Thesis Defence Title: "Utilizing Code Change Information for Better Automated Debugging" By Mr. Ming WEN Abstract Software debugging is always time-consuming and labor-intensive. It has been estimated that the debugging process costs nearly 50% of developers' time and efforts. The excessively high cost in debugging motivates the researches on automated software debugging. Over the years, various techniques have been proposed to help developers detect bugs, locate bugs, and fix them automatically. Although the effectiveness of these techniques have been demonstrated, their usefulness is still compromised in practice. For instance, fault localization techniques are still suffering from the limitation of achieving low precision and lacking of contextual information. Automated program repair techniques are suffering from the problem of search space explosion. Morden software systems are commonly maintained by version control systems (VCS), and we make the following observations that the changes documented by VCS can facilitate the design of better automated debugging techniques. First, version histories contain rich information, including bug-inducing changes, those changes that introduced bugs, and bug-fixing changes, those changes that repaired bugs. We observe that developers frequently look for the information of bug-inducing changes during their debugging practice and such information is critical for them to understand and locate a bug's root cause. Second, we observe that bug-fixing changes contain rich knowledge about how developers repair real bugs in practice, from which substantial patterns can be learned to repair new bugs automatically. Motivated by these observations, in this thesis, we propose first a technique, Locus, which leverages information-retrieval techniques to locate bug-inducing changes automatically based on bug reports. Second, we propose HSFL, which constructs historical spectra along the change histories starting from bug-inducing changes, to locate bugs at the statement level. We then propose CapGen, which is a context-aware patch generation system for automated program repair. Specifically, the mutation operators are designed and prioritized considering the context information guided by substantial real bug-fixing changes. Finally, we propose MutAPI, an automated approach to discover library API misuse patterns. Specifically, it actively makes code changes to introduce bugs related to API misuses, and then leverages mutation analysis to validate whether these changes indeed introduce bugs. Our evaluation results show that all our proposed techniques outperform existing state-of-the-art approaches. Date: Thursday, 7 March 2019 Time: 9:30am - 11:30am Venue: Room 2408 Lifts 17/18 Chairman: Prof. Qingping Sun (MAE) Committee Members: Prof. Shing-Chi Cheung (Supervisor) Prof. Tao Wang Prof. Wei Wang Prof. Ajay Joneja (IEDA) Prof. Abhik ROYCHOUDHURY (National U of Singapore) **** ALL are Welcome ****