Title :
Code smells in highly configurable software
Author_Institution :
Otto-von-Guericke-University Magdeburg, Germany
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"
Conference_Titel :
Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on
DOI :
10.1109/ICSM.2015.7332523