{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,15]],"date-time":"2026-05-15T14:41:12Z","timestamp":1778856072736,"version":"3.51.4"},"reference-count":30,"publisher":"MDPI AG","issue":"7","license":[{"start":{"date-parts":[[2020,7,4]],"date-time":"2020-07-04T00:00:00Z","timestamp":1593820800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Information"],"abstract":"<jats:p>The evolution of software systems often leads to its architectural degradation due to the presence of design problems. In the literature, design smells have been defined as indicators of such problems. In particular, the presence of design smells could indicate the use of constructs that are harmful to system maintenance activities. In this work, an investigation on the nature and presence of design smells has been performed. An empirical study has been conducted considering the complete history of eight software systems, commit by commit. The detection of instances of multiple design smell types has been performed at each commit, and the analysis of the relationships between the detected smells and the maintenance activities, specifically due to refactoring activities, has been investigated. The proposed study evidenced that classes affected by design smells are more subject to change, especially when multiple smells are detected in the same classes. Moreover, it emerged that in some cases these smells are removed, and this occurs involving more smells at the same time. Finally, results indicate that smells removals are not correlated to the refactoring activities.<\/jats:p>","DOI":"10.3390\/info11070348","type":"journal-article","created":{"date-parts":[[2020,7,6]],"date-time":"2020-07-06T03:19:27Z","timestamp":1594005567000},"page":"348","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":11,"title":["An Empirical Study on the Evolution of Design Smells"],"prefix":"10.3390","volume":"11","author":[{"given":"Lerina","family":"Aversano","sequence":"first","affiliation":[{"name":"Department of Engineering, University of Sannio, 82100 Benevento, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Umberto","family":"Carpenito","sequence":"additional","affiliation":[{"name":"Department of Engineering, University of Sannio, 82100 Benevento, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Martina","family":"Iammarino","sequence":"additional","affiliation":[{"name":"Department of Engineering, University of Sannio, 82100 Benevento, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2020,7,4]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"643","DOI":"10.1016\/j.infsof.2004.11.005","article-title":"Combating architectural degeneration: A survey","volume":"47","author":"Hochstein","year":"2005","journal-title":"Inf. Softw. Technol."},{"key":"ref_2","first-page":"146","article-title":"Toward a Catalogue of Architectural Bad Smells","volume":"Volume 5581","author":"Garcia","year":"2009","journal-title":"Computer Vision"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Le, D., and Medvidovic, N. (2016). Architectural-based speculative analysis to predict bugs in a software system. Proceedings of the Proceedings of the 38th International Conference on Software Engineering Companion, Association for Computing Machinery (ACM).","DOI":"10.1145\/2889160.2889260"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Fowler, M. (2002). Refactoring: Improving the Design of Existing Code, Springer Science and Business Media LLC.","DOI":"10.1007\/3-540-45672-4_31"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"1069","DOI":"10.1007\/s11219-018-9424-8","article-title":"Software Design Smell Detection: A systematic mapping study","volume":"27","author":"Alkharabsheh","year":"2018","journal-title":"Softw. Qual. J."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Sharma, T., Mishra, P., and Tiwari, R. (2016). Designite. Proceedings of the 1st International Workshop on Agents and CyberSecurity-ACySE \u201914, Association for Computing Machinery (ACM).","DOI":"10.1145\/2896935.2896938"},{"key":"ref_7","first-page":"23","article-title":"The cathedral and the bazaar","volume":"12","author":"Raymond","year":"1999","journal-title":"Knowl. Soc."},{"key":"ref_8","unstructured":"Bar, M., and Fogel, K. (2003). Open Source Development with CVS, Paraglyph Press. [3rd ed.]."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1046\/j.1365-2575.2002.00116.x","article-title":"A framework for creating hybrid-open source software communities","volume":"12","author":"Sharma","year":"2002","journal-title":"Inf. Syst. J."},{"key":"ref_10","unstructured":"Kumar, L., and Sureka, A. (2016). Thirteen Years of Mining Software Repositories (MSR) Conference-What is the Bibliography Data Telling Us?. arXiv."},{"key":"ref_11","first-page":"1144","article-title":"Quantifying the Effect of Code Smells on Maintenance Effort","volume":"39","author":"Yamashita","year":"2012","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., De Lucia, A., and Poshyvanyk, D. (2015). When and Why Your Code Starts to Smell Bad, Institute of Electrical and Electronics Engineers (IEEE).","DOI":"10.1109\/ICSE.2015.59"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Abbes, M., Khomh, F., Gueheneuc, Y.-G., and Antoniol, G. (2011). An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension. Proceedings of the 2011 15th European Conference on Software Maintenance and Reengineering, Institute of Electrical and Electronics Engineers (IEEE).","DOI":"10.1109\/CSMR.2011.24"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1007\/s10664-011-9171-y","article-title":"An exploratory study of the impact of antipatterns on class change- and fault-proneness","volume":"17","author":"Khomh","year":"2011","journal-title":"Empir. Softw. Eng."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"1188","DOI":"10.1007\/s10664-017-9535-z","article-title":"On the diffuseness and the impact on maintainability of code smells: A large scale empirical investigation","volume":"23","author":"Palomba","year":"2017","journal-title":"Empir. Softw. Eng."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"20","DOI":"10.1109\/TSE.2009.50","article-title":"DECOR: A Method for the Specification and Detection of Code and Design Smells","volume":"36","author":"Moha","year":"2009","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"462","DOI":"10.1109\/TSE.2014.2372760","article-title":"Mining Version Histories for Detecting Code Smells","volume":"41","author":"Palomba","year":"2015","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"347","DOI":"10.1109\/TSE.2009.1","article-title":"Identification of Move Method Refactoring Opportunities","volume":"35","author":"Tsantalis","year":"2009","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Suryanarayana, G., Samarthyam, G., and Sharma, T. (2014). Refactoring for Software Design Smells: Managing Technical Debt, Morgan Kaufmann. [1th ed.].","DOI":"10.1016\/B978-0-12-801397-7.00001-1"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Le, D.M., Link, D., Shahbazian, A., and Medvidovic, N. (2018). An Empirical Study of Architectural Decay in Open-Source Software. Proceedings of the 2018 IEEE International Conference on Software Architecture (ICSA), Institute of Electrical and Electronics Engineers (IEEE).","DOI":"10.1109\/ICSA.2018.00027"},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"139","DOI":"10.1016\/j.jss.2019.04.066","article-title":"Are architectural smells independent from code smells? An empirical study","volume":"154","author":"Fontana","year":"2019","journal-title":"J. Syst. Softw."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"202","DOI":"10.1109\/TSE.2017.2679752","article-title":"Automatic Software Refactoring via Weighted Clustering in Method-Level Networks","volume":"44","author":"Wang","year":"2018","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Brunet, J., Bittencourt, R., Serey, D., and Figueiredo, J. (2012). On the Evolutionary Nature of Architectural Violations. Proceedings of the 2012 19th Working Conference on Reverse Engineering, Institute of Electrical and Electronics Engineers (IEEE).","DOI":"10.1109\/WCRE.2012.35"},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Fontana, F.A., Pigazzini, I., Roveda, R., Tamburri, D., Zanoni, M., and Di Nitto, E. (2017). Arcan: A Tool for Architectural Smells Detection. 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), Institute of Electrical and Electronics Engineers (IEEE).","DOI":"10.1109\/ICSAW.2017.16"},{"key":"ref_25","unstructured":"(2020, July 02). Designite Tools. Available online: http:\/\/www.designite-tools.com."},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Pietrzak, B., and Walter, B. (2016, January 17\u201322). Leveraging Code Smell Detection with Inter-smell Relations. Proceedings of the International Conference on Extreme Programming and Agile Processes in Software Engineering, XP 2006, Oulu, Finland.","DOI":"10.1007\/11774129_8"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Mo, R., Cai, Y., Kazman, R., and Xiao, L. (2015). Hotspot Patterns: The Formal Definition and Automatic Detection of Architecture Smells. Hotspot Patterns: The Formal Definition and Automatic Detection of Architecture Smells, Defense Technical Information Center (DTIC).","DOI":"10.21236\/ADA621415"},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.jss.2018.05.057","article-title":"Code smells and their collocations: A large-scale experiment on open-source systems","volume":"144","author":"Walter","year":"2018","journal-title":"J. Syst. Softw."},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Yamashita, A., Zanoni, M., Fontana, F.A., and Walter, B. (2015). Inter-smell relations in industrial and open source systems: A replication and comparative analysis. Proceedings of the 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), Institute of Electrical and Electronics Engineers (IEEE).","DOI":"10.1109\/ICSM.2015.7332458"},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Tsantalis, N., Mansouri, M., Eshkevari, L.M., Mazinanian, D., and Dig, D. (2018). Accurate and efficient refactoring detection in commit history. Proceedings of the Proceedings of the 40th International Conference on Software Engineering-ICSE \u201918, Association for Computing Machinery (ACM).","DOI":"10.1145\/3180155.3180206"}],"container-title":["Information"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2078-2489\/11\/7\/348\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T09:47:18Z","timestamp":1760176038000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2078-2489\/11\/7\/348"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,7,4]]},"references-count":30,"journal-issue":{"issue":"7","published-online":{"date-parts":[[2020,7]]}},"alternative-id":["info11070348"],"URL":"https:\/\/doi.org\/10.3390\/info11070348","relation":{},"ISSN":["2078-2489"],"issn-type":[{"value":"2078-2489","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,7,4]]}}}