Identifying Code Smells with Multiple Concern Views

  • Authors:
  • Glauco de F. Carneiro;Marcos Silva;Leandra Mara;Eduardo Figueiredo;Claudio Sant'Anna;Alessandro Garcia;Manoel Mendonca

  • Affiliations:
  • -;-;-;-;-;-;-

  • Venue:
  • SBES '10 Proceedings of the 2010 Brazilian Symposium on Software Engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code smells are anomalies often caused by the way concerns are realized in the source code. Their identification might depend on properties governing the structure of individual concerns and their inter-dependencies in the system implementation. Although code visualization tools are increasingly applied to support anomaly detection, they are mostly limited to represent modular structures, such as methods, classes and packages. This paper presents a multiple views approach that enriches four categories of code views with concern properties, namely: (i) concern’s package-class method structure, (ii) concern’s inheritance-wise structure, (iii)concern dependency, and (iv) concern dependency weight. An exploratory study was conducted to assess the extent to which visual views support code smell detection. Developers identified a set of well-known code smells on five versions of an open source system. Two important results came out of this study. First, the concern-driven views provided useful support to identify God Class and Divergent Change smells. Second, strategies for smell detection supported by the multiple concern views were uncovered.