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