Monitoring evolution of code complexity and magnitude of changesShow others and affiliations
2014 (English)In: Acta Cybernetica, ISSN 0324-721X, Vol. 21, no 3, p. 367-382Article in journal (Refereed) Published
Abstract [en]
Complexity management has become a crucial activity in continuous software development. While the overall perceived complexity of a product grows rather insignificantly, the small units, such as functions and files, can have noticeable complexity growth with every increment of product features. This kind of evolution triggers risks of escalating fault-proneness and deteriorating maintainability. The goal of this research was to develop a measurement system which enables effective monitoring of complexity evolution. An action research has been conducted in two large software development organizations. We have measured three complexity and two change properties of code for two large industrial products. The complexity growth has been measured for five consecutive releases of the products. Different patterns of growth have been identified and evaluated with software engineers in industry. The results show that monitoring cyclomatic complexity evolution of functions and number of revisions of files focuses the attention of designers to potentially problematic files and functions for manual assessment and improvement. A measurement system was developed at Ericsson to support the monitoring process.
Place, publisher, year, edition, pages
University of Szeged, Institute of Informatics , 2014. Vol. 21, no 3, p. 367-382
Keywords [en]
Agile, Change, Code, Complexity, Correlation, Lean, Measurement systems, Metrics, Revision, Risk, Codes (symbols), Correlation methods, Risks, Software design, Measurement system, Risk assessment
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:his:diva-18803DOI: 10.14232/actacyb.21.3.2014.6Scopus ID: 2-s2.0-84955463451OAI: oai:DiVA.org:his-18803DiVA, id: diva2:1452962
2020-07-082020-07-082020-07-08Bibliographically approved