An Empirical Study on the Evolution of Design Smells

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...

Full description

Bibliographic Details
Main Authors: Lerina Aversano, Umberto Carpenito, Martina Iammarino
Format: Article
Language:English
Published: MDPI AG 2020-07-01
Series:Information
Subjects:
Online Access:https://www.mdpi.com/2078-2489/11/7/348
_version_ 1797416935741194240
author Lerina Aversano
Umberto Carpenito
Martina Iammarino
author_facet Lerina Aversano
Umberto Carpenito
Martina Iammarino
author_sort Lerina Aversano
collection DOAJ
description 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.
first_indexed 2024-03-09T06:11:34Z
format Article
id doaj.art-6896908b5b044358b890f66dd8382bc6
institution Directory Open Access Journal
issn 2078-2489
language English
last_indexed 2024-03-09T06:11:34Z
publishDate 2020-07-01
publisher MDPI AG
record_format Article
series Information
spelling doaj.art-6896908b5b044358b890f66dd8382bc62023-12-03T11:57:54ZengMDPI AGInformation2078-24892020-07-0111734810.3390/info11070348An Empirical Study on the Evolution of Design SmellsLerina Aversano0Umberto Carpenito1Martina Iammarino2Department of Engineering, University of Sannio, 82100 Benevento, ItalyDepartment of Engineering, University of Sannio, 82100 Benevento, ItalyDepartment of Engineering, University of Sannio, 82100 Benevento, ItalyThe 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.https://www.mdpi.com/2078-2489/11/7/348technical debtdesign smellssoftware maintenancesoftware evolution
spellingShingle Lerina Aversano
Umberto Carpenito
Martina Iammarino
An Empirical Study on the Evolution of Design Smells
Information
technical debt
design smells
software maintenance
software evolution
title An Empirical Study on the Evolution of Design Smells
title_full An Empirical Study on the Evolution of Design Smells
title_fullStr An Empirical Study on the Evolution of Design Smells
title_full_unstemmed An Empirical Study on the Evolution of Design Smells
title_short An Empirical Study on the Evolution of Design Smells
title_sort empirical study on the evolution of design smells
topic technical debt
design smells
software maintenance
software evolution
url https://www.mdpi.com/2078-2489/11/7/348
work_keys_str_mv AT lerinaaversano anempiricalstudyontheevolutionofdesignsmells
AT umbertocarpenito anempiricalstudyontheevolutionofdesignsmells
AT martinaiammarino anempiricalstudyontheevolutionofdesignsmells
AT lerinaaversano empiricalstudyontheevolutionofdesignsmells
AT umbertocarpenito empiricalstudyontheevolutionofdesignsmells
AT martinaiammarino empiricalstudyontheevolutionofdesignsmells