Abstract
It is generally assumed that architectural smells are associated with software architectural degradation. Treating smells could hence help treating degradation. 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.
We gathered data about architectural smells and violations from a single system with a validated prescriptive architecture. The data was analysed to identify and characterise associations between architectural smells and violations. Statistically relevant associations were identified for two of three smells, namely cyclic dependencies and unstable dependencies. Effect sizes were small for both though.
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Ali, N., Baker, S., O’Crowley, R., Herold, S., Buckley, J.: Architecture consistency: state of the practice, challenges and requirements. Emp. Softw. Eng. 23(1), 224–258 (2018)
Azadi, U., Fontana, F.A., Taibi, D.: Architectural smells detected by tools: a catalogue proposal. In: Proceedings of the 2nd International Conference on Technical Debt, pp. 88–97. IEEE (2019)
Buckley, J., Mooney, S., Rosik, J., Ali, N.: JITTAC: a just-in-time tool for architectural consistency. In: Proceedings of the 35th International Conference on Software Engineering (2013)
Buckley, J., Ali, N., English, M., Rosik, J., Herold, S.: Real-time reflexion modelling in architecture reconciliation: a multi case study. Inf. Softw. Technol. 61, 107–123 (2015)
DÃaz-Pace, J.A., Tommasel, A., Godoy, D.: Towards anticipation of architectural smells using link prediction techniques. In: 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 62–71 (2018)
Fontana, F.A., Pigazzini, I., Roveda, R., Tamburri, D., Zanoni, M., Di Nitto, E.: Arcan: a tool for architectural smells detection. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 282–285 (2017)
Fontana, F.A., Pigazzini, I., Raibulet, C., Basciano, S., Roveda, R.: Pagerank and criticality of architectural smells. In: Proceedings of the 13th European Conference on Software Architecture, vol. 2, pp. 197–204. ACM (2019)
Garcia, J., Popescu, D., Edwards, G., Medvidovic, N.: Identifying architectural bad smells. In: 2009 13th European Conference on Software Maintenance and Reengineering, pp. 255–258 (2009)
van Gurp, J., Brinkkemper, S., Bosch, J.: Design preservation over subsequent releases of a software product: a case study of Baan ERP. J. Softw. Maint. Evol. Res. Pract. 17(4), 277–306 (2005)
Herold, S., Rausch, A.: Complementing model-driven development for the detection of software architecture erosion. In: Proceedings of the 5th International Workshop on Modeling in Software Engineering, pp. 24–30. IEEE (2013)
Le, D.M., Link, D., Shahbazian, A., Medvidovic, N.: An empirical study of architectural decay in open-source software. In: 2018 IEEE International Conference on Software Architecture (ICSA) (2018)
Lenhard, J., Blom, M., Herold, S.: Exploring the suitability of source code metrics for indicating architectural inconsistencies. Softw. Qual. J. 27(1), 241–274 (2018). https://doi.org/10.1007/s11219-018-9404-z
Martin, R.C.: Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall Press, Upper Saddle River (2017)
Murphy, G.C., Notkin, D., Sullivan, K.J.: Software reflexion models: bridging the gap between design and implementation. IEEE Trans. Softw. Eng. 27(4), 364–380 (2001)
Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)
Sarkar, S., Ramachandran, S., Kumar, G.S., Iyengar, M.K., Rangarajan, K., Sivagnanam, S.: Modularization of a large-scale business application: a case study. IEEE Softw. 26(2), 28–35 (2009)
Vidal, S., Oizumi, W., Garcia, A., Pace, A.D., Marcos, C.: Ranking architecturally critical agglomerations of code smells. Sci. Comput. Program. 182, 64–85 (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Herold, S. (2020). An Initial Study on the Association Between Architectural Smells and Degradation. In: Jansen, A., Malavolta, I., Muccini, H., Ozkaya, I., Zimmermann, O. (eds) Software Architecture. ECSA 2020. Lecture Notes in Computer Science(), vol 12292. Springer, Cham. https://doi.org/10.1007/978-3-030-58923-3_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-58923-3_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58922-6
Online ISBN: 978-3-030-58923-3
eBook Packages: Computer ScienceComputer Science (R0)