A validated set of smells in model-view-controller architectures

Code smells are symptoms of poor design and implementation choices that may hinder code comprehension, and possibly increase change-and defect-proneness. A vast catalogue of smells has been defined in the literature, and it includes smells that can be found in any kind of system (e.g., God Classes),...

Full description

Saved in:
Bibliographic Details
Main Authors: ANICHE, Maurício, BAVOTA, Gabriele, TREUDE, Christoph, VAN DEURSEN, Arie, GEROSA, Marco Aurélio
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2017
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/8830
https://ink.library.smu.edu.sg/context/sis_research/article/9833/viewcontent/icsme16a.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-9833
record_format dspace
spelling sg-smu-ink.sis_research-98332024-06-06T09:25:04Z A validated set of smells in model-view-controller architectures ANICHE, Maurício BAVOTA, Gabriele TREUDE, Christoph VAN DEURSEN, Arie GEROSA, Marco Aurélio Code smells are symptoms of poor design and implementation choices that may hinder code comprehension, and possibly increase change-and defect-proneness. A vast catalogue of smells has been defined in the literature, and it includes smells that can be found in any kind of system (e.g., God Classes), regardless of their architecture. On the other hand, software systems adopting specific architectures (e.g., the Model-View-Controller pattern) can be also affected by other types of poor practices. We surveyed and interviewed 53 MVC developers to collect bad practices to avoid while working on Web MVC applications. Then, we followed an open coding procedure on the collected answers to define a catalogue of six Web MVC smells, namely Brain Repository, Fat Repository, Promiscuous Controller, Brain Controller, Laborious Repository Method, and Meddling Service. Then, we ran a study on 100 MVC projects to assess the impact of these smells on code change-and defect-proneness. In addition, we surveyed 21 developers to verify their perception of the defined smells. The achieved results show that the Web MVC smells (i) more often than not, increase change-and defect-proneness of classes, and (ii) are perceived by developers as severe problems. 2017-10-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/8830 info:doi/10.1109/ICSME.2016.12 https://ink.library.smu.edu.sg/context/sis_research/article/9833/viewcontent/icsme16a.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Software Engineering
spellingShingle Software Engineering
ANICHE, Maurício
BAVOTA, Gabriele
TREUDE, Christoph
VAN DEURSEN, Arie
GEROSA, Marco Aurélio
A validated set of smells in model-view-controller architectures
description Code smells are symptoms of poor design and implementation choices that may hinder code comprehension, and possibly increase change-and defect-proneness. A vast catalogue of smells has been defined in the literature, and it includes smells that can be found in any kind of system (e.g., God Classes), regardless of their architecture. On the other hand, software systems adopting specific architectures (e.g., the Model-View-Controller pattern) can be also affected by other types of poor practices. We surveyed and interviewed 53 MVC developers to collect bad practices to avoid while working on Web MVC applications. Then, we followed an open coding procedure on the collected answers to define a catalogue of six Web MVC smells, namely Brain Repository, Fat Repository, Promiscuous Controller, Brain Controller, Laborious Repository Method, and Meddling Service. Then, we ran a study on 100 MVC projects to assess the impact of these smells on code change-and defect-proneness. In addition, we surveyed 21 developers to verify their perception of the defined smells. The achieved results show that the Web MVC smells (i) more often than not, increase change-and defect-proneness of classes, and (ii) are perceived by developers as severe problems.
format text
author ANICHE, Maurício
BAVOTA, Gabriele
TREUDE, Christoph
VAN DEURSEN, Arie
GEROSA, Marco Aurélio
author_facet ANICHE, Maurício
BAVOTA, Gabriele
TREUDE, Christoph
VAN DEURSEN, Arie
GEROSA, Marco Aurélio
author_sort ANICHE, Maurício
title A validated set of smells in model-view-controller architectures
title_short A validated set of smells in model-view-controller architectures
title_full A validated set of smells in model-view-controller architectures
title_fullStr A validated set of smells in model-view-controller architectures
title_full_unstemmed A validated set of smells in model-view-controller architectures
title_sort validated set of smells in model-view-controller architectures
publisher Institutional Knowledge at Singapore Management University
publishDate 2017
url https://ink.library.smu.edu.sg/sis_research/8830
https://ink.library.smu.edu.sg/context/sis_research/article/9833/viewcontent/icsme16a.pdf
_version_ 1814047569050861568