Petrić, J. and Hall, T. and Bowes, D. (2020) Zones of pain : Visualising the relationship between software architecture and defects. In: Quality of Information and Communications Technology : 13th International Conference, QUATIC 2020, Faro, Portugal, September 9–11, 2020, Proceedings. Communications in Computer and Information Science . Springer Science and Business Media Deutschland GmbH, Cham, pp. 135-143. ISBN 9783030587925
QUATIC_2020_Relationship_Between_Faults_and_Design_Metrics.pdf - Accepted Version
Available under License Creative Commons Attribution-NonCommercial.
Download (288kB)
Abstract
Substantial development time is devoted to software maintenance and testing. As development resources are usually finite, there is a risk that some components receive insufficient effort for thorough testing. Architectural complexity (e.g. tight coupling) can make effective testing particularly challenging. Software components with high architectural complexity are more likely be defect–prone. The aim of this study is to investigate the relationship between established architectural attributes and defect–proneness. We used the architectural attributes: abstractness, instability and distance to measure the architectural complexity of software components. We investigated the ability of these attributes to discriminate between defective and non-defective components on four open source systems. We visualised defect–proneness by plotting architectural complexity and defectiveness using Martin’s ‘Zones of Pain’. Our results show that architecture has an inconsistent impact on defect–proneness. Some architecturally complex components seem immune to defects in some projects. In other projects architecturally complex components significantly suffer from defects. Where architectural complexity does increase defect–proneness the impact is strong. We recommend practitioners monitor the architectural complexity of their software components over time by visualising potential defect–proneness using Martin’s Zones of Pain.