Abstract

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.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.