showSidebars ==
showTitleBreadcrumbs == 1
node.field_disable_title_breadcrumbs.value ==

PhD Dissertation Defense by TIAN Yuan

Please click here if you are unable to view this page.

 

 

 

Mining Bug Repositories for Automatic Software Bug Management: From Bug Triaging to Patch Backporting

 

 

 


 

 

 

Speaker (s):

 

 

TIAN Yuan

PhD Candidate

School of Information Systems

Singapore Management University

 

 

 

 

 


 

 

Date:


Time:


Venue:

 

 

 

May 12, 2017, Friday


1:30 pm - 2:30 pm


Meeting Room 4.4, Level 4

School of Information Systems

Singapore Management University


80 Stamford Road

Singapore 178902

 

We look forward to seeing you at this research seminar.

 

 

About the Talk

 

 

Software systems are often released with bugs due to system complexity and inadequate testing. Bug resolving process plays an important role in development and evolution of software systems because developers could collect a considerable number of bugs from users and testers daily. For instance, during September 2015, the Eclipse project received approximately 2,500 bug reports, averaging 80 new reports each day. To help developers effectively address and manage bugs, bug tracking systems such as Bugzilla and JIRA are adopted to manage the lifecycle of a bug through bug report. Since most of the information related to bugs are stored in bug repositories, e.g., bug tracking systems, these bug repositories contain a wealth of valuable information. Such information could be mined to automate bug management process and thus save developers time and effort.

 

My thesis targets the automation of three bug management tasks, i.e., bug prioritization, bug assignment, and bug-fixing patch identification by mining bug repositories.

 

Bug prioritization is important for developers to prioritize bug reports well so that important reports are prioritized and fixed first. For automated bug prioritization, I propose an approach that recommends a priority level based on information available in bug reports by considering multiple factors, including temporal, textual, author, related-report, severity, and product, that potentially affect the priority level of a bug report.

 

Each reported bug must be analyzed by bug triagers in order to find an appropriate developer/team for handling the bug. Such bug assignment process is important, because assigning a bug report to the incorrect developer or team can increase the overall time required to fix the bug, increasing project maintenance cost. Moreover, this process is time consuming and non-trivial since good comprehension of bug report, source code, and team members is needed. In this thesis, I propose a unified model based on learning to rank technique to automatically recommend developers to address particular bug reports. The unified model naturally combines location-based information and activity-based information extracted from historical bug reports and source code for more accurate recommendation.

 

Developers of the Linux kernel release new versions, including bug fixes and new features, frequently, while maintaining some older ``longterm'' versions, which are stable, reliable, and secure execution environment to users. The maintaining of longterm versions raises the problem of how to identify bug fixing patches that are submitted to the current version but should be back-ported to the longterm versions as well. In this thesis, I propose two approaches that automatically identify bug fixing patches based on the changes and commit messages recorded in code repositories. One approach is based on hand-crafted features and two machine learning techniques, i.e., LPU (Learning from Positive and Unlabeled Examples) and SVM (Support Vector Machine). The other approach is based on Convolutional Neural Network (CNN), which automatically learns features from patches.

 

 

 

 

About the Speaker

 

TIAN Yuan is a PhD candidate in School of Information Systems, Singapore Management University, under the supervision of Associate Professor David Lo. Her research interests include mining software repositories, empirical study, and automated software maintenance.