2015
DOI: 10.1007/s10270-015-0483-z
|View full text |Cite
|
Sign up to set email alerts
|

The shape of feature code: an analysis of twenty C-preprocessor-based systems

Abstract: Feature annotations (e.g., code fragments guarded by #ifdef C-preprocessor directives) control code extensions related to features. Feature annotations have long been said to be undesirable. When maintaining features that control many annotations, there is a high risk of ripple effects. Also, excessive use of feature annotations leads to code clutter, hinder program comprehension and harden maintenance.To prevent such problems, developers should monitor the use of feature annotations, for example, by setting a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
24
0

Year Published

2015
2015
2021
2021

Publication Types

Select...
5
1
1

Relationship

2
5

Authors

Journals

citations
Cited by 28 publications
(24 citation statements)
references
References 38 publications
0
24
0
Order By: Relevance
“…Scattered features may significantly increase system maintenance efforts [5,6]. Yet, feature scattering is common in practice [7][8][9].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Scattered features may significantly increase system maintenance efforts [5,6]. Yet, feature scattering is common in practice [7][8][9].…”
Section: Introductionmentioning
confidence: 99%
“…Many long-lived and large-scale software systems have shown that it is possible to achieve continuous evolution while accepting some extent of feature scattering. Examples span different domains, such as operating systems, databases, and text editors [7,9,14].…”
Section: Introductionmentioning
confidence: 99%
“…Queiroz, Passos, Valente, Hunsen, Apel and Czarnecki ("Empirical Assessment of Two Approaches for Specifying Software Product Lines Use Case Scenarios" [5]) report the results of an empirical investigation of two different specification approaches for software product line scenarios, namely PLUSS and MSVCM. These two techniques are similar with regard to their inputs but different in respect of the compositional (MSVCM) and invasive (PLUSS) style for variability management.…”
Section: In This Issuementioning
confidence: 99%
“…In our thesis, we identify direct properties of feature dependencies to draw our conclusions. Finally, in a recent work, Queiroz et al quantify three metrics in twenty preprocessor-based systems and define thresholds to the context of feature maintenance, specifically for ripple effects observed in the evolving source code [QUEIROZ et al 2015]. However, once again, this study adapts metrics to the context of preprocessor-based systems and they neglect the impact of dependencies on code maintenance and change propagation.…”
Section: Related Workmentioning
confidence: 99%
“…Consequently, they lack of standard terminology and formalism, leading to definitions of measures, which are ambiguous and/or difficult to understand. A growing number of studies have identified structural properties of product lines [SOBERNIG et al 2014, QUEIROZ et al 2015 and metrics for product-line [ VAN DER HOEK et al 2003, LIEBIG et al 2010, APEL and BEYER 2011 to overcome the problems aforementioned. Their common goal is the association between: (i) the quantification of characteristics governing either product lines or programming techniques, and (ii) their impact on software maintainability.…”
Section: The Role Of Feature Dependency Properties On Change Propagationmentioning
confidence: 99%