4.4 Article

Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data

Journal

EMPIRICAL SOFTWARE ENGINEERING
Volume 19, Issue 4, Pages 1111-1143

Publisher

SPRINGER
DOI: 10.1007/s10664-013-9250-3

Keywords

Software maintenance; Code smells; Refactoring; Maintenance problems

Funding

  1. Simula Research Laboratory
  2. Research Council of Norway [179851/I40, 193236/I40]

Ask authors/readers for more resources

Code smells are indicators of deeper design problems that may cause difficulties in the evolution of a software system. This paper investigates the capability of twelve code smells to reflect actual maintenance problems. Four medium-sized systems with equivalent functionality but dissimilar design were examined for code smells. Three change requests were implemented on the systems by six software developers, each of them working for up to four weeks. During that period, we recorded problems faced by developers and the associated Java files on a daily basis. We developed a binary logistic regression model, with problematic file as the dependent variable. Twelve code smells, file size, and churn constituted the independent variables. We found that violation of the Interface Segregation Principle (a.k.a. ISP violation) displayed the strongest connection with maintenance problems. Analysis of the nature of the problems, as reported by the developers in daily interviews and think-aloud sessions, strengthened our view about the relevance of this code smell. We observed, for example, that severe instances of problems relating to change propagation were associated with ISP violation. Based on our results, we recommend that code with ISP violation should be considered potentially problematic and be prioritized for refactoring.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.4
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available