On the Impact of Feature Dependencies when Maintaining Preprocessor-based Software Product Lines

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

  • Márcio Ribeiro
  • Felipe Queiroz
  • Paulo Borba
  • Társis Tolêdo
  • Claus Brabrand
  • Sérgio Soares

View graph of relations

During Software Product Line (SPL) maintenance tasks, Virtual Separation of Concerns (VSoC) allows the programmer to focus on one feature and hide the others. However, since features depend on each other through variables and control-flow, feature modularization is compromised since the maintenance of one feature may break another. In this context, emergent interfaces can capture dependencies between the feature we are maintaining and the others, making developers aware of dependencies. To better understand the impact of feature dependencies during SPL maintenance, we have investigated the following two questions: how often methods with preprocessor directives contain feature dependencies? How feature dependencies impact maintenance effort when using VSoC and emergent interfaces? Answering the former is important for assessing how often we may face feature dependency problems. Answering the latter is important to better understand to what extent emergent interfaces complement VSoC during maintenance tasks. To answer them, we analyze 43 SPLs of different domains, size, and languages. The data we collect from them complement previous work on preprocessor usage.
Original languageEnglish
Title of host publicationGPCE '11 Proceedings of the 10th ACM international conference on Generative programming and component engineering
Number of pages10
PublisherAssociation for Computing Machinery
Publication date2011
PagesGPCE '11 Proceedings of the 10th ACM international conference on Generative programming and component engineering
ISBN (Print)978-1-4503-0689-8
Publication statusPublished - 2011
EventGenerative Programming and Component Engineering (GPCE 2011) - Portland, United States
Duration: 22 Oct 201123 Oct 2011
Conference number: 10th


ConferenceGenerative Programming and Component Engineering (GPCE 2011)
LandUnited States

ID: 34603263