DocumentCode :
635217
Title :
Exploring the impact of inter-smell relations on software maintainability: An empirical study
Author :
Yamashita, Atsushi ; Moonen, L.
Author_Institution :
Simula Res. Lab., Lysaker, Norway
fYear :
2013
fDate :
18-26 May 2013
Firstpage :
682
Lastpage :
691
Abstract :
Code smells are indicators of issues with source code quality that may hinder evolution. While previous studies mainly focused on the effects of individual code smells on maintainability, we conjecture that not only the individual code smells but also the interactions between code smells affect maintenance. We empirically investigate the interactions amongst 12 code smells and analyze how those interactions relate to maintenance problems. Professional developers were hired for a period of four weeks to implement change requests on four medium-sized Java systems with known smells. On a daily basis, we recorded what specific problems they faced and which artifacts were associated with them. Code smells were automatically detected in the pre-maintenance versions of the systems and analyzed using Principal Component Analysis (PCA) to identify patterns of co-located code smells. Analysis of these factors with the observed maintenance problems revealed how smells that were co-located in the same artifact interacted with each other, and affected maintainability. Moreover, we found that code smell interactions occurred across coupled artifacts, with comparable negative effects as same-artifact co-location. We argue that future studies into the effects of code smells on maintainability should integrate dependency analysis in their process so that they can obtain a more complete understanding by including such coupled interactions.
Keywords :
Java; principal component analysis; software maintenance; software quality; PCA; code smells; dependency analysis; intersmell relations impact; medium-sized Java systems; principal component analysis; software maintainability; source code quality; Context; Interviews; Java; Laboratories; Maintenance engineering; Principal component analysis; Software; bad smells; code smells; inter-smell relations; smell interaction; software maintenance; software quality;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (ICSE), 2013 35th International Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
978-1-4673-3073-2
Type :
conf
DOI :
10.1109/ICSE.2013.6606614
Filename :
6606614
Link To Document :
بازگشت