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
Link To Document