Abstract

Bug triage processes are intended to assign bug reports to appropriate developers effectively, but they typically become bottlenecks in the development process—especially for large-scale software projects. Recently, several machine learning approaches, including deep learning-based approaches, have been proposed to recommend an appropriate developer automatically by learning past assignment patterns. In this paper, we propose a deep learning-based bug triage technique using a convolutional neural network (CNN) with three different word representation techniques: Word to Vector (Word2Vec), Global Vector (GloVe), and Embeddings from Language Models (ELMo). Experiments were performed on datasets from well-known large-scale open-source projects, such as Eclipse and Mozilla, and top-k accuracy was measured as an evaluation metric. The experimental results suggest that the ELMo-based CNN approach performs best for the bug triage problem. GloVe-based CNN slightly outperforms Word2Vec-based CNN in many cases. Word2Vec-based CNN outperforms GloVe-based CNN when the number of samples per class in the dataset is high enough.

Highlights

  • The process of finding and assigning an appropriate developer for a given bug is referred to as “bug triage.” When a bug is found, it is typically documented in a bug report containing information about the bug

  • Which is more effective for word representation in convolutional neural network (CNN)-based bug triage, and does it make any difference if a different word embedding is used?

  • 4) Addressing the Research Questions RQ 1: Which is more effective for word representation in CNN-based bug triage, and does it make any difference if a different word embedding is used?

Read more

Summary

Introduction

The process of finding and assigning an appropriate developer for a given bug is referred to as “bug triage.” When a bug is found, it is typically documented in a bug report containing information about the bug. A triager typically references histories of fixed bug reports and their fixers (developers) to choose an appropriate developer who has fixed similar bugs. Bug triage is challenging in today’s large-scale software projects where many bug reports are issued daily. Many large-scale open-source projects, such as Mozilla, Eclipse, and Google, maintain a history of fixed bugs and can be used to develop automated bug triage systems. Maintaining this history can become a bottleneck of the development process, especially for large-scale software projects such as Eclipse and Mozilla, because it requires manual labor by triagers and a large number of daily bug reports

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call