Publication

Publication

Presented at the
IEEE International Conference on Software Analysis, Evolution, and Reengineering

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 to not be as detrimental
to quality as previously conjectured. We are therefore interested
on revisiting common anti-patterns and code smells, and build 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 endeavor to develop
more pragmatic, context-relevant detection and analysis tools for
anti-patterns and code smells.