An Initial Study on the Association between Architectural Smells and Degradation
Context: It is generally assumed that architectural smells are associated with software architectural degradation. Treating smells could hence help treating degradation. However, detailed empirical evidence for this association is scarce.
Objective: This article investigates the association between three types of architectural smells and the existence of architecture-violating dependencies as manifestation of architectural degradation in software.
Method: We gathered data about architectural smells and violations from a single system with a validated prescriptive architecture. The data was analysed to identify associations between architectural smells and violations and to examine their characteristics.
Results: Statistically relevant associations were identified for two smells, namely cyclic dependencies and unstable dependencies. Effect sizes were small for both though, slightly increasing but remaining small for cyclic dependencies involving a larger number of source code entities (more than 15 classes). Hub-like dependencies were not found to be associated with architectural violations.
Conclusion: These results provide evidence for cyclic and unstable dependencies having a larger risk of including architectural violations. The small effect sizes indicate that the presence of architectural smells cannot explain architectural degradation alone. This shows that complementing methods and techniques are required for exhaustive treatment of both phenomena.
Fri 18 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:40 - 12:20
|Architectural Technical Debt: A Grounded TheoryResearch Track|
Roberto Verdecchia Vrije Universiteit Amsterdam, Philippe Kruchten University of British Columbia, Patricia Lago Vrije Universiteit AmsterdamPre-print
|An Initial Study on the Association between Architectural Smells and Degradationshort-paperResearch Track|
Sebastian Herold Karlstad University, Department of Mathematics and Computer Science