Abstract
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.
Originalsprog | Engelsk |
---|---|
Titel | GPCE '11 Proceedings of the 10th ACM international conference on Generative programming and component engineering |
Antal sider | 10 |
Forlag | Association for Computing Machinery |
Publikationsdato | 2011 |
Sider | GPCE '11 Proceedings of the 10th ACM international conference on Generative programming and component engineering |
ISBN (Trykt) | 978-1-4503-0689-8 |
Status | Udgivet - 2011 |
Begivenhed | Generative Programming and Component Engineering (GPCE 2011) - Portland, USA Varighed: 22 okt. 2011 → 23 okt. 2011 Konferencens nummer: 10th http://program-transformation.org/GPCE11 |
Konference
Konference | Generative Programming and Component Engineering (GPCE 2011) |
---|---|
Nummer | 10th |
Land/Område | USA |
By | Portland |
Periode | 22/10/2011 → 23/10/2011 |
Internetadresse |
Emneord
- Software Product Line Maintenance
- Virtual Separation of Concerns
- Feature Dependencies
- Emergent Interfaces
- Preprocessor Directives