DECOR: A Method for the Specification and Detection of Code and Design Smells

Naouel Moha 1 Yann-Gaël Guéhéneuc 2 Laurence Duchien 3, 4 Anne-Françoise Le Meur 3, 4
1 TRISKELL - Reliable and efficient component based software engineering
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
4 ADAM - Adaptive Distributed Applications and Middleware
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : Code and design smells are poor solutions to recurring implementation and design problems. They may hinder the evolution of a system by making it hard for software engineers to carry out changes. We propose three contributions to the research field related to code and design smells: (1) DECOR, a method that embodies and defines all the steps necessary for the specification and detection of code and design smells; (2) DETEX, a detection technique that instantiates this method; and (3) an empirical validation in terms of precision and recall of DETEX. The originality of DETEX stems from the ability for software engineers to specify smells at a high-level of abstraction using a consistent vocabulary and domain-specific language for automatically generating detection algorithms. Using DETEX, we specify four well-known design smells: the antipatterns Blob, Functional Decomposition, Spaghetti Code, and Swiss Army Knife, and their 15 underlying code smells, and we automatically generate their detection algorithms. We apply and validate the detection algorithms in terms of precision and recall on XERCES v2.7.0, and discuss the precision of these algorithms on 11 opensource systems.
Document type :
Journal articles
Complete list of metadatas

Cited literature [51 references]  Display  Hide  Download

https://hal.inria.fr/inria-00538476
Contributor : Didier Vojtisek <>
Submitted on : Monday, November 22, 2010 - 3:41:32 PM
Last modification on : Thursday, February 21, 2019 - 10:52:48 AM
Long-term archiving on : Wednesday, February 23, 2011 - 3:26:45 AM

File

Moha10a.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00538476, version 1

Citation

Naouel Moha, Yann-Gaël Guéhéneuc, Laurence Duchien, Anne-Françoise Le Meur. DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transactions on Software Engineering, Institute of Electrical and Electronics Engineers, 2010, 36, X-Country = US, X-Editorial-Board = yes, X-International-Audience = yes, X-Language = EN, X-Pays (1), pp.20--36. ⟨inria-00538476⟩

Share

Metrics

Record views

4821

Files downloads

1113