Building empirical knowledge on the relationship between code smells and design patterns: An exploratory study. Issue 9 (21st July 2022)
- Record Type:
- Journal Article
- Title:
- Building empirical knowledge on the relationship between code smells and design patterns: An exploratory study. Issue 9 (21st July 2022)
- Main Title:
- Building empirical knowledge on the relationship between code smells and design patterns: An exploratory study
- Authors:
- Santos, José Amancio M.
Petronilo, Gadiel Xavier Antunes - Abstract:
- Abstract: Code smell is a concept describing potential problems in software design. In opposition, design pattern describes good design solutions in terms of maintainability and reusability. Code smell and design pattern might be perceived as metaphors supporting software design activity in terms of understanding and communication. However, empirical evaluation is needed to investigate their effect in terms of programming activity. Our objective is to build empirical knowledge on the relationship between code smells and design patterns. We carried out an exploratory study based on mining software repositories and in a baseline study addressing software evolution. In total, we analyzed 61 software. Their classes were identified as linked to both code smells and design patterns metaphors. Then, we analyzed the co‐occurrence of these metaphors. Our findings indicate that the relationship between smells and design patterns is software dependent. Some software present many smells linked to design patterns while for other software, smelly classes are not linked to design patterns. We also found that the instability metric weakly reflects this idea. Our study supports better understanding of the topic. It presents results in the opposite direction of expectations that the presence of smells is correlated with the absence of design patterns and vice versa. Abstract : There are studies investigating co‐occurrence of the code smells and design patterns metaphors. The premise of theseAbstract: Code smell is a concept describing potential problems in software design. In opposition, design pattern describes good design solutions in terms of maintainability and reusability. Code smell and design pattern might be perceived as metaphors supporting software design activity in terms of understanding and communication. However, empirical evaluation is needed to investigate their effect in terms of programming activity. Our objective is to build empirical knowledge on the relationship between code smells and design patterns. We carried out an exploratory study based on mining software repositories and in a baseline study addressing software evolution. In total, we analyzed 61 software. Their classes were identified as linked to both code smells and design patterns metaphors. Then, we analyzed the co‐occurrence of these metaphors. Our findings indicate that the relationship between smells and design patterns is software dependent. Some software present many smells linked to design patterns while for other software, smelly classes are not linked to design patterns. We also found that the instability metric weakly reflects this idea. Our study supports better understanding of the topic. It presents results in the opposite direction of expectations that the presence of smells is correlated with the absence of design patterns and vice versa. Abstract : There are studies investigating co‐occurrence of the code smells and design patterns metaphors. The premise of these studies is based on the intuitive idea that these metaphors reflect opposite design quality characteristics. Our study builds on empirical knowledge on the topic, investigating co‐occurrence between code smells and design patters from a dataset with 61 software objects. We found that the relationship between code smells and design patterns is software dependent. The instability metric weakly reflects this idea. … (more)
- Is Part Of:
- Journal of software. Volume 34:Issue 9(2022)
- Journal:
- Journal of software
- Issue:
- Volume 34:Issue 9(2022)
- Issue Display:
- Volume 34, Issue 9 (2022)
- Year:
- 2022
- Volume:
- 34
- Issue:
- 9
- Issue Sort Value:
- 2022-0034-0009-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2022-07-21
- Subjects:
- code smell -- design pattern -- exploratory study -- mining software repository
Software engineering -- Periodicals
Computer software -- Development -- Periodicals
Software maintenance -- Periodicals
005.1 - Journal URLs:
- http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481 ↗
http://onlinelibrary.wiley.com/ ↗ - DOI:
- 10.1002/smr.2487 ↗
- Languages:
- English
- ISSNs:
- 2047-7473
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 23305.xml