Title :
#ifdef confirmed harmful: Promoting understandable software variation
Author :
Le, Duc ; Walkingshaw, Eric ; Erwig, Martin
Author_Institution :
Oregon State Univ., Corvallis, OR, USA
Abstract :
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.
Keywords :
C language; computational linguistics; reverse engineering; software maintenance; #ifdef; C preprocessor; CIDE; FeatureCommander; obtrusive syntax; software artifacts; software comprehensibility; software variation understandability; variation maintenance; variational code; Color; Educational institutions; Programming profession; Prototypes; Software; Syntactics;
Conference_Titel :
Visual Languages and Human-Centric Computing (VL/HCC), 2011 IEEE Symposium on
Conference_Location :
Pittsburgh, PA
Print_ISBN :
978-1-4577-1246-3
DOI :
10.1109/VLHCC.2011.6070391