A Validated Set of Smells in Model-View-Controller Architectures

Conference Paper (2016)
Author(s)

Maurício Aniche (TU Delft - Software Engineering, University of Adelaide)

Gabriele Bavota (Università della Svizzera Italiana)

Christoph Treude (University of Adelaide)

A van Deursen (TU Delft - Software Technology)

Marco A. Gerosa (Universidade de São Paulo)

Research Group
Software Engineering
Copyright
© 2016 Maurício Aniche, Gabriele Bavota, Christoph Treude, A. van Deursen, Marco Aurélio Gerosa
DOI related publication
https://doi.org/10.1109/ICSME.2016.12
More Info
expand_more
Publication Year
2016
Language
English
Copyright
© 2016 Maurício Aniche, Gabriele Bavota, Christoph Treude, A. van Deursen, Marco Aurélio Gerosa
Research Group
Software Engineering
Pages (from-to)
233-243
ISBN (electronic)
978-1-5090-3806-0
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

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.

Files

TUD_SERG_2016_024.pdf
(pdf | 0.415 Mb)
License info not available