Litcius/Paper detail

Automatic Bug Triage in Software Systems Using Graph Neighborhood Relations for Feature Augmentation

Iyad Alazzam, Ahmed Aleroud, Zainab Al Latifah, George Karabatis

2020IEEE Transactions on Computational Social Systems42 citationsDOI

Abstract

Bug triaging is the process of prioritizing bugs based on their severity, frequency, and risk in order to be assigned to appropriate developers for validation and resolution. This article introduces a graph-based feature augmentation approach for enhancing bug triaging systems using machine learning. A new feature augmentation approach that utilizes graph partitioning based on neighborhood overlap is proposed. Neighborhood overlap is a quite effective approach for discovering relationships in social graphs. Terms of bug summaries are represented as nodes in a graph, which is then partitioned into clusters of terms. Terms in strong clusters are augmented to the original feature vectors of bug summaries based on the similarity between the terms in each cluster and a bug summary. We employed other techniques such as term frequency, term correlation, and topic modeling to identify latent terms and augment them to the original feature vectors of bug summaries. Consequently, we utilized frequency, correlation, and neighborhood overlap techniques to create another feature augmentation approach that enriches the feature vectors of bug summaries to use them for bug triaging. The new modified vectors are used to classify bug reports into different priorities. Bug Triage in this context is to correctly recognize the priority of new bugs. Several classification algorithms are tested using the proposed methods. Experimental results on a data set with Eclipse bug reports extracted from the Bugzilla tracking system have shown that our approach outperformed the existing bug triaging systems including modern techniques that utilize deep learning.

Topics & Concepts

Computer scienceTriageSoftware bugFeature (linguistics)GraphFeature vectorArtificial intelligenceData miningRandom forestMachine learningSoftware regressionSoftwareTheoretical computer scienceSoftware developmentSoftware qualityLinguisticsPhilosophyMedicineProgramming languageEmergency medicineSoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Testing and Debugging Techniques
Automatic Bug Triage in Software Systems Using Graph Neighborhood Relations for Feature Augmentation | Litcius