Product Metrics for Automatic Identification of "Bad Smell" Design Problems in Java Source-Code

  • Authors:
  • Matthew James Munro

  • Affiliations:
  • University of Strathclyde

  • Venue:
  • METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Refactoring can have a direct influence on reducing the cost of software maintenance through changing the internal structure of the source-code to improve the overall design that helps the present and future programmers evolve and understand a system. Bad smells are a set of design problems with refactoring identified as a solution. Locating these bad smells has been described as more a human intuition than an exact science. This paper addresses the issue of identifying the characteristics of a bad smell through the use of a set of software metrics. Then by using a pre-defined set of interpretation rules to interpret the software metric results applied to Java source-code, the software engineer can be provided with significant guidance as to the location of bad smells. These issues are addressed in a number of ways. Firstly, a precise definition of bad smells is given from the informal descriptions given by the originators Fowler and Beck. The characteristics of the bad smells have been used to define a set of measurements and interpretation rules for a subset of the bad smells. A prototype tool has been implemented to enable the evaluation of the interpretation rules in two case studies.