Title :
How Good Are Code Smells for Evaluating Software Maintainability? Results from a Comparative Case Study
Author :
Yamashita, Atsushi
Author_Institution :
Mesan AS & Simula Res. Lab., Oslo, Norway
Abstract :
An advantage of code smells over traditional software measures is that the former are associated with an explicit set of refactorings to improve the existing design. Past research on code smells has emphasized the formalization and automated detection of code smells, but much less has been done to empirically investigate how good are code smells for evaluating software maintainability. This paper presents a summary of the findings in the thesis by Yamashita, which aimed at investigating the strengths and limitations of code smells for evaluating software maintainability. The study conducted comprised an outsourced maintenance project involving four Java web systems with equivalent functionality but dissimilar implementation, six software professionals, and two software companies. A main result from the study is that the usefulness of code smells differs according to the granularity level (e.g., whether the assessment is done at file or system level) and the particular operationalization of maintainability (e.g., maintainability can be measured via maintenance effort, or problems encountered during maintenance, etc). This paper summarises the most relevant findings from the thesis, discusses a series of lessons learned from conducting this study, and discusses avenues for new research in the area of code smells.
Keywords :
Internet; Java; software maintenance; software metrics; software quality; Java Web systems; automated code smell detection; granularity level; outsourced maintenance project; software companies; software maintainability evaluation; software measures; software professionals; software quality; software refactorings; Companies; Context; Interviews; Java; Maintenance engineering; Size measurement; Software; Bad smells; Code smells; Comparative Case Study; Empirical study; Software maintenance; Software quality;
Conference_Titel :
Software Maintenance (ICSM), 2013 29th IEEE International Conference on
Conference_Location :
Eindhoven
DOI :
10.1109/ICSM.2013.97