• DocumentCode
    3694267
  • Title

    Code smells in highly configurable software

  • Author

    Wolfram Fenske

  • Author_Institution
    Otto-von-Guericke-University Magdeburg, Germany
  • fYear
    2015
  • Firstpage
    602
  • Lastpage
    605
  • Abstract
    Modern software systems are increasingly configurable. Conditional compilation based on C preprocessor directives (i. e., #ifdefs) is a popular variability mechanism to implement this configurability in source code. Although C preprocessor usage has been subject to repeated criticism, with regard to variability implementation, there is no thorough understanding of which patterns are particularly harmful. Specifically, we lack empirical evidence of how frequently reputedly bad patterns occur in practice and which negative effect they have. For object-oriented software, in contrast, code smells are commonly used to describe source code that exhibits known design flaws, which negatively affect understandability or changeability. Established code smells, however, have no notion of variability. Consequently, they cannot characterize flawed patterns of variability implementation. The goal of my research is therefore to create a catalog of variability-aware code smells. I will collect empirical proof of how frequently these smells occur and what their negative impact is on understandability, changeability, and fault-proneness of affected code. Moreover, I will develop techniques to detect variability-aware code smells automatically and reliably.
  • Keywords
    "Software systems","Measurement","Programming","Feature extraction","Computer architecture","Interviews"
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on
  • Type

    conf

  • DOI
    10.1109/ICSM.2015.7332523
  • Filename
    7332523