Are Architectural Smells Independent from Code Smells? An Empirical Study

Background. Architectural smells and code smells are symptoms of bad code or design that can cause different quality problems, such as faults, technical debt, or difficulties with maintenance and evolution. Some studies show that code smells and architectural smells often appear together in the same file. The correlation between code smells and architectural smells, however, is not clear yet; some studies on a limited set of projects have claimed that architectural smells can be derived from code smells, while other studies claim the opposite. Objective. The goal of this work is to understand whether architectural smells are independent from code smells or can be derived from a code smell or from one category of them. Method. We conducted a case study analyzing the correlations among 19 code smells, six categories of code smells, and four architectural smells. Results. The results show that architectural smells are correlated with code smells only in a very low number of occurrences and therefore cannot be derived from code smells. Conclusion. Architectural smells are independent from code smells, and therefore deserve special attention by researchers, who should investigate their actual harmfulness, and practitioners, who should consider whether and when to remove them.


The perception of Architectural Smells in industrial practice

Architectural Technical Debt (ATD) is considered as the most significant...

An architectural technical debt index based on machine learning and architectural smells

A key aspect of technical debt (TD) management is the ability to measure...

Code smells: A Synthetic Narrative Review

Code smells are symptoms of poor design and implementation choices, whic...

Where and What do Software Architects blog? An Exploratory Study on Architectural Knowledge in Blogs, and their Relevance to Design Steps

Software engineers share their architectural knowledge (AK) in different...

One-off Events? An Empirical Study of Hackathon Code Creation and Reuse

Background: Hackathons have become popular events for teams to collabora...

Architectural Decay as Predictor of Issue- and Change-Proneness

Architectural decay imposes real costs in terms of developer effort, sys...

Understanding Software Architecture Erosion: A Systematic Mapping Study

Architecture erosion (AEr) can adversely affect software development and...

Please sign up or login with your details

Forgot password? Click here to reset