Multi-triage: A Multi-Task Learning Approach to Bug Triaging

Publication Type:
Thesis
Issue Date:
2022
Full metadata record
Bug triage plays a significant role in software maintenance activities, including optimization, error correction, and feature enhancement. Triage is the procedure of assigning the severity, issue type, and developer to resolve the issue in the most effective order. Performing triage is time-consuming and challenging, depending on the system's complexity. Thus, it is time-consuming and hinders the effectiveness of linkages between two triage tasks. An automated approach to assisting the issue allocation process to relevant category and developer benefits bug triages. A large body of previous work aims to address the allocation problem by conjecturing the extensive list of approaches ranging from the heuristics-based approach, text retrieval approach, and machine learning approach. However, these studies treated the issue of categorization and assignment tasks as a single task learning model and developed a multiple recommendation system. This dissertation aims at leveraging the bug triage process by adopting the multi-task learning approach. We developed a multi-triage model, a system for predicting developers and issue kinds for a brand-new issue report. In our approach, we split issue reports, the text description, and code snippets into two separate tokens to conjecture the contributions of each context in the learning model. We conducted four studies in this thesis. The first was an empirical study of the automatic traceability link recovery approach to analyze how previous studies addressed the linkages between software artifacts (e.g., requirements, issue reports, test cases, and source code). The second was the experimental studies about visualizing the linkages of software artifacts using the hierarchical trace map. The first two studies were mainly focused on understanding the broad concepts of how software artifacts can be linked together and presented to stakeholders effectively. Based on this accumulated knowledge, we designed the multi-triage model to identify the linkages between developers, issue types, and issue reports to leverage the bug triage process. Lastly, we conducted a case study of the issue tracking system used by the software consulting company to conjure the process of introducing the automatic developer assignment and labeling recommendation model in the bug triage process. Our study led to several key findings. We found that the multi-triage model training time and performance are better than single-task learning models. We also uncovered that including the contextual data augmentation-based synthetic bug reports in training data sets can improve the learning model's performance noticeably.
Please use this identifier to cite or link to this item: