• DocumentCode
    2742533
  • Title

    Avoiding Some Common Preprocessing Pitfalls with Feature Queries

  • Author

    Jarzabek, Stan ; Xue, Yinxing ; Zhang, Hongyu ; Lee, Youpeng

  • Author_Institution
    Dept. of Comput. Sci., Nat. Univ. of Singapore, Singapore, Singapore
  • fYear
    2009
  • fDate
    1-3 Dec. 2009
  • Firstpage
    283
  • Lastpage
    290
  • Abstract
    Preprocessors (e.g., cpp) provide simple means to manage software product variants by including/excluding required feature code to/from base program. Feature-related customizations occur at variation points in base program marked with preprocessing directives. Problems emerge when the number of inter-dependent features grows, and each feature maps to many variation points in many base program components. Component-based and architecture-centric techniques promoted by a Software Product Line approach to reuse help us contain the impact of some features in small number of base components. Still, accommodating other features into product variants requires fine granular code changes in many components, at many variation points. Fine granular code level changes are often handled by preprocessors, which becomes a source of well-known complications during component customization for reuse. In this paper, we show how some of the common preprocessing problems can be alleviated with a query-based environment that assists programmers in analysis of features handled with preprocessor´s directives. We describe problems of preprocessing that can be aided by tool like ours, and problems that we believe are inherent in approaches that attempt to manage features in the base code.
  • Keywords
    object-oriented programming; program processors; query languages; software reusability; architecture centric techniques; base program; common preprocessing pitfalls; component based technique; feature code; feature queries; features analysis; fine granular code; preprocessor directives; software product line; software product variant management; Component architectures; Computer languages; Computer science; Conference management; Engineering management; Instruments; Programming profession; Project management; Software engineering; Testing; preprocessing; product variants; reuse; variation mechanisms;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Conference, 2009. APSEC '09. Asia-Pacific
  • Conference_Location
    Penang
  • ISSN
    1530-1362
  • Print_ISBN
    978-0-7695-3909-6
  • Type

    conf

  • DOI
    10.1109/APSEC.2009.61
  • Filename
    5358677