More about HKUST
Utilizing Code Change Information for Better Automated Debugging
PhD Thesis Proposal 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 debugging software automatically.Over the years, various techniques have been proposed to help developers detect bugs, locate bugs, and repair programs 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 problem of lacking contextual information, and 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 observe that the changes documented by VCS can facilitate the design of better automated debugging techniques. It is because that those changes 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. Besides, we also 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 misuses. Specifically, it actively makes changes to introduce bugs of 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: Monday, 22 October 2018 Time: 4:00pm - 6:00pm Venue: Room 4472 (lifts 25/26) Committee Members: Prof. Shing-Chi Cheung (Supervisor) Dr. Tao Wang (Chairperson) Dr. Xiaojuan Ma Dr. Wei Wang **** ALL are Welcome ****