2011
DOI: 10.1145/2076021.2048128
|View full text |Cite
|
Sign up to set email alerts
|

Variability-aware parsing in the presence of lexical macros and conditional compilation

Abstract: In many projects, lexical preprocessors are used to manage different variants of the project (using conditional compilation) and to define compile-time code transformations (using macros). Unfortunately, while being a simple way to implement variability, conditional compilation and lexical macros hinder automatic analysis, even though such analysis is urgently needed to combat variability-induced complexity. To analyze code with its variability, we need to parse it without preprocessing it. However, current pa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
90
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 65 publications
(90 citation statements)
references
References 47 publications
0
90
0
Order By: Relevance
“…The dominance of modular features, low scattering, and coarse-grained annotations mitigates the challenges imposed by the use of ifdef annotations on program comprehension (Favre 1997;Kästner and Apel 2009;Le et al 2011;Spencer and Collyer 1992) and on the potential of introducing bugs (Ernst et al 2002;Kästner et al 2011). While modularity is supported by the plugin architecture of the kernel, low scattering and coarse grain annotations appear to follow directly from coding guidelines related to ifdef use: 29 "Code cluttered with ifdefs is difficult to read and maintain.…”
Section: Kernel Evolution Principlesmentioning
confidence: 99%
See 1 more Smart Citation
“…The dominance of modular features, low scattering, and coarse-grained annotations mitigates the challenges imposed by the use of ifdef annotations on program comprehension (Favre 1997;Kästner and Apel 2009;Le et al 2011;Spencer and Collyer 1992) and on the potential of introducing bugs (Ernst et al 2002;Kästner et al 2011). While modularity is supported by the plugin architecture of the kernel, low scattering and coarse grain annotations appear to follow directly from coding guidelines related to ifdef use: 29 "Code cluttered with ifdefs is difficult to read and maintain.…”
Section: Kernel Evolution Principlesmentioning
confidence: 99%
“…Due to its complexity, publicly available source code, and practical appeal, researchers often study the Linux kernel to better understand practical issues arising from the maintenance of variant-rich software systems, subsequently deriving tool support that industry can directly benefit from Kästner et al 2011;Nadi et al 2014;Nadi and Holt 2012;She et al 2011;Tartler et al 2012). In our case, we are particularly interested in understanding how developers coevolve the kernel variability model, build files, and C source code.…”
Section: Introductionmentioning
confidence: 99%
“…Kästner et al [34] show how languages with preprocessor syntax can be parsed and represented in syntax trees with variability, even if the preprocessor syntax is not properly nested in the main language syntax. Erwig and Walkingshaw [8] present the Choice Calculus, which can be seen as an elegant version of a preprocessor with a fixed and well defined semantics.…”
Section: Related Workmentioning
confidence: 99%
“…We plan to analyze several configurable software systems. We will first extract the constraints in each of the three spaces using existing tools (e.g., [4], [9]). We then plan to compare the constraints in the three spaces to find commonalities and overlaps, and identify common cases where the constraints in the variability model are reflected in the code or not.…”
Section: A Rq1: What Information Does Each Of the Three Spaces Provimentioning
confidence: 99%
“…In either case, the constraints enforced by these three spaces must be clear and consistent. Previous work has typically studied one of these spaces in isolation [3], [4] or in terms of how two of the spaces coevolve [5], [6]. However, there has not been an attempt to comprehensively study the variability of the three combined.…”
Section: Introductionmentioning
confidence: 99%