Title
Exploring the Relationship between Software Modularity and Technical Debt
Abstract
Modularity is one of the key principles of software design. In order for a software system to be modular, it should be organized into modules that are highly coherent internally, whereas at the same time as independent from other modules as possible. In this paper we explore coupling and cohesion metrics at the software package level-i.e., one of most basic levels of software functional decomposition in object-oriented (OO) systems, with the aim of investigating their relation to the technical debt of each package. Current state-of-the-art tools in TD measurement are working on the source code level, and the extent to which they can unveil limitations at the architecture level (e.g., violations of the modularity principle), has not been explored so far. To achieve this goal, we conducted a case study on 1,200 packages retrieved from 20 well-known open source software projects. The results of the study suggested that current measures of technical debt are able to identify / predict modules that lack modularity, and therefore suffer from Architectural Technical Debt (ATD). The results of the study are discussed both from the practitioners' and re-searchers' point of view.
Year
DOI
Venue
2018
10.1109/SEAA.2018.00072
2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
Keywords
Field
DocType
coupling,cohesion,modularity,technical debt
Software design,Systems engineering,Source code,Computer science,Functional decomposition,Software system,Software,Technical debt,Modular design,Modularity
Conference
ISSN
ISBN
Citations 
1089-6503
978-1-5386-7384-3
0
PageRank 
References 
Authors
0.34
11
5
Name
Order
Citations
PageRank
Peggy Skiada100.34
Apostolos Ampatzoglou233441.24
Elvira-Maria Arvanitou3317.37
Alexander Chatzigeorgiou479060.13
Ioannis Stamelos5124391.67