• 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