Multi-Feature Approach for Bug Severity Assignment

Multi-Feature Approach for Bug Severity Assignment

Abeer Hamdy, Abdulrahman Ellaithy
Copyright: © 2020 |Pages: 15
DOI: 10.4018/IJOSSP.2020040101
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

When bug reports are submitted through bug tracking systems, they are analysed manually to identify their severity levels. A severity level specifies the negative impact of a bug on a system. With the huge number of submitted reports, setting the severity class manually is tedious and time consuming. Moreover, some bug types are reported more often than other types, which leads to imbalanced bug repositories. This paper proposes a multi-feature approach for automatic severity assignment, which leverages lexical, semantic, and categorical properties of the bug reports. The proposed approach utilizes word embeddings, topic model, vector space model, and an adapted K-Nearest Neighbour technique. Moreover, the impact of utilizing two sampling techniques, namely SMOTE and cluster-based under-sampling (CBU), were investigated. Experiments over two open source repositories, Eclipse and Mozilla, demonstrated that the proposed approach is superior to two previous studies.
Article Preview
Top

1. Introduction

A bug is a fault in software that results in an incorrect output. So, various quality control activities like reviews and testing are utilized to enhance the quality of the software before releasing it. However, with the increase in software size and limited resources, it is difficult to develop software that is 100% free of bugs before the release time. To keep track and manage fixing the bugs after release, large scale software projects utilize bug tracking systems such as Bugzilla; through which users can report any encountered bugs (Hamdy & El-Laithy, 2019). However, adopting a bug tracking system creates another challenge, that when bug reports are submitted, they are examined by some personnel (a triagger) to estimate each bug’s severity, priority and assign it to a developer to fix. “Severity” is one of the important fields of a bug report as it specifies the negative impact of the bug on the system. However, with the large number of submitted reports, manual triaging becomes a time consuming task and its accuracy declines. For instance, Eclipse received about 3,389 bug reports for the platform product alone in 2013 (Hamdy & El-Laithy, 2020). Furthermore, it was found that almost 80% of the bug reports get their fields (including Severity) amended and those reports took more time to get fixed in comparison to those without field amendments (Xia et al., 2014). Thus, it is essential to automate the bug triage process for higher accuracy and faster bug fixing.

Several severity assignment models have been proposed in the literature; all of them are based on mining the software bug repositories using text mining techniques (Hotho, Nurnberger & Paas, 2005). Generally, one of the key factors that influence the accuracy of approaches is how the bug reports are processed and represented such that a strong association between the newly submitted reports and the historical ones could be found. Early severity assignment approaches are based on modelling the bug reports using vector space models (VSMs) (Hotho, Nurnberger & Paas, 2005). VSMs are useful when there are common tokens between the bug reports (Hamdy & Elsayed, 2018a), however they do not consider the semantic similarity between synonymous words. Recently, two models that are capable of capturing the semantic similarity between documents have emerged: (i) Word embeddings (Mikolov et al., 2013), (ii) Probabilistic topic models (Teh et al., 2006). Word embeddings models represent each word by a vector of real numbers that capture their contextual semantic meanings, such that similar words have similar vector representations. While, topic models are unsupervised machine learning models; that enable the automatic learning of the topics shared in a corpus of textual documents without the need of labeled training data (Teh et al., 2006), (Hamdy & Elsayed, 2018b,c). In the context of bug reports, the summary and description fields included in the bug reports that describe similar bugs should include similar topics. Therefore, topic models can assist in retrieving the historical bug reports that have similar topics to the newly submitted reports even if they do not have lexical similarity. Also, word embeddings can facilitate retrieving historical bug reports which are similar to a new report but are written using different terms.

Another key factor that influences the accuracy of the severity assignment approaches is the fact that bug repositories are class imbalanced (some bug severity classes are reported more frequently than others). The classifiers that are trained on imbalanced datasets usually result in a low classification accuracy for the minority classes (Agrawal & Menzis, 2018). Some research studies recommended utilizing sampling techniques in order to yield an equal representation of the classes in the datasets, prior to training the classification models, to achieve better classification accuracy (Malhotra & Khanna, 2017), (Tantithamthavorn, Hassan & Matsumoto, 2018) and (Hamdy & El-Laithy, 2019).

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing