Anti-patterns and code smells are archetypes used for describing software design shortcomings that can negatively affect software quality, in particular maintainability. Tools, metrics and methodologies have been developed to identify these archetypes, based on the assumption that they can point at problematic code. However, recent empirical studies have shown that some of these archetypes are ubiquitous in real world programs, and many of them are found not to be as detrimental to quality as previously conjectured. We are therefore interested in revisiting common anti-patterns and code smells, and building a catalogue of cases that constitute candidates for "false positives". We propose a preliminary classification of such false positives with the aim of facilitating a better understanding of the effects of anti-patterns and code smells in practice. We hope that the development and further refinement of such a classification can support researchers and tool vendors in their endeavour to develop more pragmatic, context-relevant detection and analysis tools for anti-patterns and code smells.

ARCELLI FONTANA, F., Dietrich, J., Walter, B., Yamashita, A., Zanoni, M. (2016). Anti-pattern and code smell false positives: Preliminary conceptualisation and classification. In Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) (pp.609-613). Institute of Electrical and Electronics Engineers Inc. [10.1109/SANER.2016.84].

Anti-pattern and code smell false positives: Preliminary conceptualisation and classification

ARCELLI FONTANA, FRANCESCA
Primo
;
ZANONI, MARCO
Ultimo
2016

Abstract

Anti-patterns and code smells are archetypes used for describing software design shortcomings that can negatively affect software quality, in particular maintainability. Tools, metrics and methodologies have been developed to identify these archetypes, based on the assumption that they can point at problematic code. However, recent empirical studies have shown that some of these archetypes are ubiquitous in real world programs, and many of them are found not to be as detrimental to quality as previously conjectured. We are therefore interested in revisiting common anti-patterns and code smells, and building a catalogue of cases that constitute candidates for "false positives". We propose a preliminary classification of such false positives with the aim of facilitating a better understanding of the effects of anti-patterns and code smells in practice. We hope that the development and further refinement of such a classification can support researchers and tool vendors in their endeavour to develop more pragmatic, context-relevant detection and analysis tools for anti-patterns and code smells.
paper
Anti-patterns, code smells, false positives, detection accuracy, conceptual framework
English
IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016)
2016
Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016)
9781509018550
2016
2016
2016-
609
613
7476682
http://ieeexplore.ieee.org/document/7476682/
reserved
ARCELLI FONTANA, F., Dietrich, J., Walter, B., Yamashita, A., Zanoni, M. (2016). Anti-pattern and code smell false positives: Preliminary conceptualisation and classification. In Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) (pp.609-613). Institute of Electrical and Electronics Engineers Inc. [10.1109/SANER.2016.84].
File in questo prodotto:
File Dimensione Formato  
2016-SANER-cs-false-positives-pre-print.pdf

Solo gestori archivio

Descrizione: Pre-print articolo
Dimensione 119.35 kB
Formato Adobe PDF
119.35 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/107335
Citazioni
  • Scopus 65
  • ???jsp.display-item.citation.isi??? 52
Social impact