Understanding the Impact of Mutable Global State on the Defect Proneness of Object-Oriented Systems
A key requirement for complex software systems is for them to not be susceptible to error. However, little research has been done thus far on what makes a system defect prone. Static constructs have already been proven to have a negative impact on several software quality aspects (such as maintainab...
Gespeichert in:
| Veröffentlicht in: | 2020 IEEE 14th International Symposium on Applied Computational Intelligence and Informatics (SACI) S. 000105 - 000110 |
|---|---|
| 1. Verfasser: | |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
IEEE
01.05.2020
|
| Schlagworte: | |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | A key requirement for complex software systems is for them to not be susceptible to error. However, little research has been done thus far on what makes a system defect prone. Static constructs have already been proven to have a negative impact on several software quality aspects (such as maintainability or testability) therefore it would be interesting to see if they also affect error proneness.This article investigates the presence of mutable global state in object-oriented systems and tries to establish whether or not the classes that utilize it are more prone to error. We propose an approach that can be followed to study these aspects which includes: 1) detection strategies for identifying mutable global state instances and their users, 2) a method to determine if a particular commit is a bug-fix, and 3) a process for extracting fine-grained source code changes and using them to assess if mutable global state users are more defect prone than other production classes. The feasibility of the approach is demonstrated through an empirical study conducted on 5 open-source projects. The results show that mutable global state is present in the production code of the analyzed systems. They also prove that classes which utilize mutable global state instances tend to have a higher proneness to error compared to other classes. |
|---|---|
| DOI: | 10.1109/SACI49304.2020.9118816 |