The Relationship between Evolutionary Coupling and Defects in Large Industrial Software
View/ Open
Author
Kirbas, Serkan
Caglayan, Bora
Hall, Tracy
Counsell, Steve
Bowes, David
Sen, Alper
Bener, Ayse
Attention
2299/19494
Abstract
Evolutionary coupling (EC) is defined as the implicit relationship between 2 or more software artifacts that are frequently changed together. Changing software is widely reported to be defect-prone. In this study, we investigate the effect of EC on the defect proneness of large industrial software systems and explain why the effects vary. We analysed 2 large industrial systems: a legacy financial system and a modern telecommunications system. We collected historical data for 7 years from 5 different software repositories containing 176 thousand files. We applied correlation and regression analysis to explore the relationship between EC and software defects, and we analysed defect types, size, and process metrics to explain different effects of EC on defects through correlation. Our results indicate that there is generally a positive correlation between EC and defects, but the correlation strength varies. Evolutionary coupling is less likely to have a relationship to software defects for parts of the software with fewer files and where fewer developers contributed. Evolutionary coupling measures showed higher correlation with some types of defects (based on root causes) such as code implementation and acceptance criteria. Although EC measures may be useful to explain defects, the explanatory power of such measures depends on defect types, size, and process metrics.
Publication date
2017-04-05Published in
Journal of Software: Evolution and ProcessPublished version
https://doi.org/10.1002/smr.1842Other links
http://hdl.handle.net/2299/19494Metadata
Show full item recordRelated items
Showing items related by title, author, creator and subject.
-
Software process improvement problems in twelve software companies: An empirical analysis
Beecham, S.; Hall, T.; Rainer, A. (2003)In this paper we discuss our study of the problems 12 software companies experienced in software development. In total we present qualitative data collected from 45 focus groups that involved over 200 software staff. We ... -
Model Assisted Software Development - a MDE-Based Software Development Methodology
Craveiro, Marco Paulo De Figueiredo (2022-07-05)Model Driven Engineering (MDE) is a flexible approach for the creation and evolution of software systems, centred around models and their transformations. MDE provides a fundamental substrate upon which practitioners ... -
Trust in Software Outsourcing Relationships: An Empirical Investigation of Indian Software Companies
Oza, N.; Hall, T.; Rainer, A.; Grey, S. (2006)This paper investigates trust in software outsourcing relationships. The study is based on an empirical investigation of eighteen high maturity software vendor companies based in India. Our analysis of the literature ...