• DocumentCode
    2250051
  • Title

    #ifdef confirmed harmful: Promoting understandable software variation

  • Author

    Le, Duc ; Walkingshaw, Eric ; Erwig, Martin

  • Author_Institution
    Oregon State Univ., Corvallis, OR, USA
  • fYear
    2011
  • fDate
    18-22 Sept. 2011
  • Firstpage
    143
  • Lastpage
    150
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Visual Languages and Human-Centric Computing (VL/HCC), 2011 IEEE Symposium on
  • Conference_Location
    Pittsburgh, PA
  • ISSN
    1943-6092
  • Print_ISBN
    978-1-4577-1246-3
  • Type

    conf

  • DOI
    10.1109/VLHCC.2011.6070391
  • Filename
    6070391