Article ID Journal Published Year Pages File Type
461797 Journal of Systems and Software 2013 15 Pages PDF
Abstract

•Code smells are strongly influenced by size (LOC).•Code smell density is likely to be inaccurate when comparing size differing systems.•Code smell density distinguishes maintainability across similar sized systems.•Expert judgment is most accurate method for assessing system maintainability.•Code smells can detect design flaws that may be overlooked by experts.

ContextCode smells are manifestations of design flaws that can degrade code maintainability. So far, no research has investigated if these indicators are useful for conducting system-level maintainability evaluations.AimThe research in this paper investigates the potential of code smells to reflect system-level indicators of maintainability.MethodWe evaluated four medium-sized Java systems using code smells and compared the results against previous evaluations on the same systems based on expert judgment and the Chidamber and Kemerer suite of metrics. The systems were maintained over a period of up to 4 weeks. During maintenance, effort (person-hours) and number of defects were measured to validate the different evaluation approaches.ResultsMost code smells are strongly influenced by size; consequently code smells are not good indicators for comparing the maintainability of systems differing greatly in size. Also, from the comparison of the different evaluation approaches, expert judgment was found as the most accurate and flexible since it considered effects due to the system's size and complexity and could adapt to different maintenance scenarios.ConclusionCode smell approaches show promise as indicators of the need for maintenance in a way that other purely metric-based approaches lack.

Related Topics
Physical Sciences and Engineering Computer Science Computer Networks and Communications
Authors
, ,