EWD-Multinomial: Decoding the "Feelings" Behind Bug Reports to Predict Severity
Analyzing emotion words to predict severity of software bugs: a case study of open source projects
This paper introduces EWD-Multinomial, a novel bug severity prediction method that integrates emotional analysis into the Naive Bayes Multinomial classifier. By leveraging an Emotion Words-based Dictionary (EWD), the approach automatically classifies bug reports from major open-source projects like Eclipse, Android, and JBoss, achieving SOTA recall rates of up to 97.98%.
TL;DR
Software maintenance is often bogged down by subjective bug reporting. This paper presents EWD-Multinomial, a sentiment-aware machine learning model that analyzes emotion words within bug reports. By understanding the "frustration" or "urgency" expressed by reporters, the model achieves a remarkable 97.98% recall in predicting bug severity for projects like Android.
Background: The Subjectivity Gap
In open-source ecosystems like Eclipse or Android, bug repositories are flooded with thousands of reports. A critical bottleneck is the Severity Level. Reporters—ranging from expert QA to casual users—often assign severity based on subjective feelings rather than technical impact. This lead to mismanaged priorities and increased bug "lifetimes."
While previous researchers used text mining or Latent Dirichlet Allocation (LDA), they missed a crucial human element: Software bug reports are written by humans, and humans are emotional.
Methodology: Mining Sentiment for Urgency
The authors' core insight is that severe bugs typically trigger a specific emotional profile in the text. To capture this, they developed a two-stage pipeline:
1. The Emotion Words-based Dictionary (EWD)
The researchers didn't just look for "crash" or "error." They utilized a dictionary where words have positive and negative weights. After stemming and preprocessing (using Stanford CoreNLP), they calculated an Emotion Score for each report:
2. EWD-Multinomial Classifier
They modified the standard Naive Bayes Multinomial algorithm. While standard models only care about word frequency, EWD-Multinomial integrates the to weight the probability of a bug being "Severe" (Blocker, Critical, Major) versus "Non-Severe" (Minor, Trivial).
Figure 1: The architecture of the proposed Emotion Words-based prediction system.
Experimental Results
The study evaluated the model on nearly 200,000 bug reports from 2013 to 2015.
| Project | Recall (Accuracy) |
|---|---|
| Android | 97.98% |
| Eclipse | 90.75% |
| JBoss | 79.64% |
Interestingly, the Android project showed the highest recall despite only using the Summary (Title) field, suggesting that the most vital emotional cues are often condensed into the report's headline.
Figure 2: EWD-Multinomial vs. Baselines. Our approach consistently outperforms the Lamkanfi study and standard Naive Bayes across all projects.
Deep Insights: Code vs. Emotion
A fascinating finding in the discussion phase:
- Human Expression Reports: Reports containing natural language descriptions were predicted with extremely high accuracy.
- Source Code Reports: Bug reports that were primarily "Copy & Paste" of source code or stack traces were harder for the model to predict, as they lack the emotional "signature" the dictionary targets.
Critical Analysis & Conclusion
Takeaway: This work proves that "Sentiment" is not just for social media monitoring—it is a high-signal feature for technical maintenance. By treating bug reporters as "emotional sensors," we can prioritize fixes more objectively than the reporters themselves.
Limitations:
- The dictionary-based approach may struggle with sarcasm or highly technical jargon where "bad" might describe a data state rather than a feeling.
- The current reliance on 10-fold cross-validation is robust, but the authors acknowledge that Cross-Project Prediction (training on Eclipse to predict JBoss) remains a hurdle for future work.
Final Verdict: EWD-Multinomial is a sophisticated step toward "Empathetic Software Engineering," bridging the gap between human linguistics and automated maintenance.
