You are here

#ifdef confirmed harmful: Promoting understandable software variation

Title#ifdef confirmed harmful: Promoting understandable software variation
Publication TypeConference Paper
Year of Publication2011
AuthorsLe, D., E. Walkingshaw, and M. Erwig
Conference NameIEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
Pagination143 - 150
Date Published09/2011
Conference LocationPittsburgh, PA
ISBN Number978-1-4577-1244-9

Maintaining variation in software is a difficult problem that poses serious challenges for the understanding and editing of software artifacts. Although the C preprocessor (CPP) is often the default tool used to introduce variability to software, because of its simplicity and flexibility, it is infamous for its obtrusive syntax and has been blamed for reducing the comprehensibility and maintainability of software. In this paper, we address this problem by developing a prototype for managing software variation at the source code level. We evaluate the difference between our prototype and CPP with a user study, which indicates that the prototype helps users reason about variational code faster and more accurately than CPP. Our results also support the research of others, providing evidence for the effectiveness of related tools, such as CIDE and FeatureCommander.