Design patterns are recommended solutions for typical software design problems, with an extensively studied and documented impact on various quality factors. Flaws in design at a higher levels of abstraction are manifested in architectural smells. Some of those smells, similarly to code smells, can reduce the expected advantages of design patterns or even prevent their proper implementation. In this paper we study if and how design patterns and architectural smells are related, and how this knowledge could be exploited in practice. We present an empirical study with an analysis of 16 design patterns and 3 architectural smells in 60 open source Java systems. We analyze their diffuseness and correlation, and we extract association rules that describe their presence and dependencies. We demonstrate that there exist relationships between architectural smells and design patterns, both at the class and package levels. Some smells appear falsely positive, as they result from conscious decisions made by programmers, while the application of some patterns can be a cause of certain smells. Our results provide evidence that design patterns and architectural smells are related and affect each other. With knowledge about the relationships, programmers can avoid the side effects of applying some design patterns.
Pigazzini, I., Arcelli Fontana, F., & Walter, B. (2021). A study on correlations between architectural smells and design patterns. THE JOURNAL OF SYSTEMS AND SOFTWARE, 178(August 2021) [10.1016/j.jss.2021.110984].
|Citazione:||Pigazzini, I., Arcelli Fontana, F., & Walter, B. (2021). A study on correlations between architectural smells and design patterns. THE JOURNAL OF SYSTEMS AND SOFTWARE, 178(August 2021) [10.1016/j.jss.2021.110984].|
|Tipo:||Articolo in rivista - Articolo scientifico|
|Carattere della pubblicazione:||Scientifica|
|Presenza di un coautore afferente ad Istituzioni straniere:||Si|
|Titolo:||A study on correlations between architectural smells and design patterns|
|Autori:||Pigazzini, I; Arcelli Fontana, F; Walter, B|
PIGAZZINI, ILARIA (Corresponding)
ARCELLI FONTANA, FRANCESCA (Corresponding)
|Data di pubblicazione:||2021|
|Rivista:||THE JOURNAL OF SYSTEMS AND SOFTWARE|
|Digital Object Identifier (DOI):||http://dx.doi.org/10.1016/j.jss.2021.110984|
|Appare nelle tipologie:||01 - Articolo su rivista|