## 8 Related Work
### Automatic Bug Classification with Machine Learning Algorithms
[43] used ODC for classifying software defects, indicating that it requires one or more experts to categorize each defect in a reasonably complex and time-consuming process. They evaluated the applicability of a set of machine learning algorithms (NB, KNN, SVM, Recurrent Neural Networks (RNN), Nearest Centroid, and RF) for performing automatic classification of software defects based on ODC and using unstructured text bug reports. The authors claimed that the difficulties in automatically classifying certain ODC attribute solely using unstructured bug reports. Hence, they suggested that the use of larger datasets to improve overall classification accuracy. To compare our study with the related works in this section, we have listed the various approaches in Tables 12 and 13. Thus, our study builds on and complements the above studies. In addition, our study is unique since it deals with commercial bug reports instead of other researchers dealing with bug reports of open-source software, as given in Table 12. Furthermore, Table 13 show the techniques and classifiers used in the related works. \begin{table}
\begin{tabular}{l l l} \hline \hline
**Ref.** & **Techniques Used** & **Classification/Clustering Algorithms** \\ \hline
[2] & ML and model feature selection & NB, LR, and alternating decision tree \\ \hline
[39] & ML and text mining using three super categories of ODC defect types & C4.5, NB, SVM, and LR \\ \hline
[4] & LDA topic modeling & NB, LR, and alternating decision tree \\ \hline
[34] & HDP topic modeling & NB, LR, and alternating decision tree \\ \hline
[35] & Data mining and text mining with structured data, multi-stage classification with data & Multinomial NB, LR, and alternating decision tree \\ \hline
[42] & Fuzzy-based text selection, text mining, and natural language descriptions with a fuzzy set-based feature selection [USES] algorithm. \\ \hline
[40] & Hybrid ML approach with semi-supervised defect categorization, active learning, and clustering & K-means clustering and SVM \\ \hline
[36] & N-gram with inverse document frequency (IDF) & LR and RF \\ \hline
[37] & Bayesian network classifiers, K-means clustering and expectation-maximization (EM) strategy with majority voting and ODC defect types & NB, tree augmented NB (TAN), and K-dependence Bayesian network classifier (KDB) \\ \hline
[1] & Taxonomy building by classifying according to the defined taxonomy with TF-IDE, Word2 Vec, and Doc2 Vec \\ \hline
[43] & ML and RNN using ODC defect types & NB, SVM, KNN, RNN, nearest centroid, and RF \\ \hline Our Work & ML, NLP, information retrieval, and multi-language pre-processing with Seaman’s defect types & NB, SVM, KNN, LR, DT, and RF \\ \hline \hline \end{tabular}
\end{table} 
Table 12: Comparison of automatic bug classification studies. \begin{table}
\begin{tabular}{l l l l l l} \hline \hline
**Ref.** & **Paper** & **Year** & **No. of Bugs** & **Commercial/Open Source** & **Dataset(s)** \\ \hline
[2] & [PERSON] et al. & 2007 & 1800 & Open Source & Mozilla, Eclipse, and JBoss \\
[39] & [PERSON] et al. & 2012 & 500 & Open Source & Mahout, Lucene, and OpenNLP \\
[4] & [PERSON] et al. & 2013 & 1940 & Open Source & HTTP Client, Jackrabbit, and Lucene \\
[34] & [PERSON] et al. & 2014 & 2718 & Open Source & HTTP Client, Jackrabbit, and Lucene \\
[35] & [PERSON] et al. & 2014 & 3220 & Open Source & Mozilla, Eclipse, JBoss, Fireox, and OpenFOAM \\
[42] & [PERSON] et al. & 2014 & 809 & Open Source & Linux, Mysql, Apache HTTP, and AXIS \\
[40] & [PERSON] et al. & 2015 & 500 & Open Source & Mahout, Lucene, and OpenNLP \\
[36] & [PERSON] et al. & 2017 & 3356 & Open Source & HTTP Client, Jackrabbit, and Lucene \\
[37] & [PERSON] et al. & 2018 & 1444 & Open Source & Compendium and Mozilla \\
[1] & [PERSON] et al. & 2019 & 1280 & Open Source & Mozilla, Apache, and Eclipse \\
[43] & [PERSON] et al. & 2020 & 4096 & Open Source & MongoDB, Cassandra, and HBase \\ - & Our work & 2021 & 504 & Commercial & Proprietary Bug Dataset \\ \hline \hline \end{tabular}
\end{table}