---
_id: '30511'
abstract:
- lang: eng
  text: <jats:title>Abstract</jats:title><jats:p>Many critical codebases are written
    in C, and most of them use preprocessor directives to encode variability, effectively
    encoding software product lines. These preprocessor directives, however, challenge
    any static code analysis. SPLlift, a previously presented approach for analyzing
    software product lines, is limited to Java programs that use a rather simple feature
    encoding and to analysis problems with a finite and ideally small domain. Other
    approaches that allow the analysis of real-world C software product lines use
    special-purpose analyses, preventing the reuse of existing analysis infrastructures
    and ignoring the progress made by the static analysis community. This work presents
    <jats:sc>VarAlyzer</jats:sc>, a novel static analysis approach for software product
    lines. <jats:sc>VarAlyzer</jats:sc> first transforms preprocessor constructs to
    plain C while preserving their variability and semantics. It then solves any given
    distributive analysis problem on transformed product lines in a variability-aware
    manner. <jats:sc>VarAlyzer</jats:sc> ’s analysis results are annotated with feature
    constraints that encode in which configurations each result holds. Our experiments
    with 95 compilation units of OpenSSL show that applying <jats:sc>VarAlyzer</jats:sc>
    enables one to conduct inter-procedural, flow-, field- and context-sensitive data-flow
    analyses on entire product lines for the first time, outperforming the product-based
    approach for highly-configurable systems.</jats:p>
alternative_title:
- Revoking the preprocessor’s special role
article_number: '35'
article_type: original
author:
- first_name: Philipp
  full_name: Schubert, Philipp
  id: '60543'
  last_name: Schubert
  orcid: 0000-0002-8674-1859
- first_name: Paul
  full_name: Gazzillo, Paul
  last_name: Gazzillo
- first_name: Zach
  full_name: Patterson, Zach
  last_name: Patterson
- first_name: Julian
  full_name: Braha, Julian
  last_name: Braha
- first_name: Fabian Benedikt
  full_name: Schiebel, Fabian Benedikt
  id: '55745'
  last_name: Schiebel
  orcid: 0009-0008-6867-9802
- first_name: Ben
  full_name: Hermann, Ben
  id: '66173'
  last_name: Hermann
  orcid: 0000-0001-9848-2017
- first_name: Shiyi
  full_name: Wei, Shiyi
  last_name: Wei
- first_name: Eric
  full_name: Bodden, Eric
  id: '59256'
  last_name: Bodden
  orcid: 0000-0003-3470-3647
citation:
  ama: Schubert P, Gazzillo P, Patterson Z, et al. Static data-flow analysis for software
    product lines in C. <i>Automated Software Engineering</i>. 2022;29(1). doi:<a
    href="https://doi.org/10.1007/s10515-022-00333-1">10.1007/s10515-022-00333-1</a>
  apa: Schubert, P., Gazzillo, P., Patterson, Z., Braha, J., Schiebel, F. B., Hermann,
    B., Wei, S., &#38; Bodden, E. (2022). Static data-flow analysis for software product
    lines in C. <i>Automated Software Engineering</i>, <i>29</i>(1), Article 35. <a
    href="https://doi.org/10.1007/s10515-022-00333-1">https://doi.org/10.1007/s10515-022-00333-1</a>
  bibtex: '@article{Schubert_Gazzillo_Patterson_Braha_Schiebel_Hermann_Wei_Bodden_2022,
    title={Static data-flow analysis for software product lines in C}, volume={29},
    DOI={<a href="https://doi.org/10.1007/s10515-022-00333-1">10.1007/s10515-022-00333-1</a>},
    number={135}, journal={Automated Software Engineering}, publisher={Springer Science
    and Business Media LLC}, author={Schubert, Philipp and Gazzillo, Paul and Patterson,
    Zach and Braha, Julian and Schiebel, Fabian Benedikt and Hermann, Ben and Wei,
    Shiyi and Bodden, Eric}, year={2022} }'
  chicago: Schubert, Philipp, Paul Gazzillo, Zach Patterson, Julian Braha, Fabian
    Benedikt Schiebel, Ben Hermann, Shiyi Wei, and Eric Bodden. “Static Data-Flow
    Analysis for Software Product Lines in C.” <i>Automated Software Engineering</i>
    29, no. 1 (2022). <a href="https://doi.org/10.1007/s10515-022-00333-1">https://doi.org/10.1007/s10515-022-00333-1</a>.
  ieee: 'P. Schubert <i>et al.</i>, “Static data-flow analysis for software product
    lines in C,” <i>Automated Software Engineering</i>, vol. 29, no. 1, Art. no. 35,
    2022, doi: <a href="https://doi.org/10.1007/s10515-022-00333-1">10.1007/s10515-022-00333-1</a>.'
  mla: Schubert, Philipp, et al. “Static Data-Flow Analysis for Software Product Lines
    in C.” <i>Automated Software Engineering</i>, vol. 29, no. 1, 35, Springer Science
    and Business Media LLC, 2022, doi:<a href="https://doi.org/10.1007/s10515-022-00333-1">10.1007/s10515-022-00333-1</a>.
  short: P. Schubert, P. Gazzillo, Z. Patterson, J. Braha, F.B. Schiebel, B. Hermann,
    S. Wei, E. Bodden, Automated Software Engineering 29 (2022).
date_created: 2022-03-25T07:41:26Z
date_updated: 2025-12-04T10:42:38Z
department:
- _id: '76'
doi: 10.1007/s10515-022-00333-1
intvolume: '        29'
issue: '1'
keyword:
- inter-procedural static analysis
- software product lines
- preprocessor
- LLVM
- C/C++
language:
- iso: eng
main_file_link:
- open_access: '1'
  url: https://link.springer.com/article/10.1007/s10515-022-00333-1
oa: '1'
project:
- _id: '12'
  name: 'SFB 901 - B4: SFB 901 - Subproject B4'
- _id: '3'
  name: 'SFB 901 - B: SFB 901 - Project Area B'
- _id: '1'
  name: 'SFB 901: SFB 901'
publication: Automated Software Engineering
publication_identifier:
  issn:
  - 0928-8910
  - 1573-7535
publication_status: published
publisher: Springer Science and Business Media LLC
status: public
title: Static data-flow analysis for software product lines in C
type: journal_article
user_id: '15249'
volume: 29
year: '2022'
...
---
_id: '18249'
abstract:
- lang: eng
  text: Augmented Reality (AR) has recently found high attention in mobile shopping
    apps such as in domains like furniture or decoration. Here, the developers of
    the apps focus on the positioning of atomic 3D objects in the physical environment.
    With this focus, they neglect the conﬁguration of multi-faceted 3D object composition
    according to the user needs and environmental constraints. To tackle these challenges,
    we present a model-based approach to support AR-assisted product con-ﬁguration
    based on the concept of Dynamic Software Product Lines. Our approach splits products
    (e.g. table) into parts (e.g. tabletop, ta-ble legs, funnier) with their 3D objects
    and additional information (e.g. name, price). The possible products, which can
    be conﬁgured out of these parts, are stored in a feature model. At runtime, this
    feature model can be used to conﬁgure 3D object compositions out of the product
    parts and adapt to user needs and environmental constraints. The beneﬁts of this
    approach are demonstrated by a case study of conﬁguring modular kitchens with
    the help of a prototypical mobile-based implementation.
author:
- first_name: Sebastian
  full_name: Gottschalk, Sebastian
  id: '47208'
  last_name: Gottschalk
- first_name: Enes
  full_name: Yigitbas, Enes
  id: '8447'
  last_name: Yigitbas
  orcid: 0000-0002-5967-833X
- first_name: Eugen
  full_name: Schmidt, Eugen
  last_name: Schmidt
- first_name: Gregor
  full_name: Engels, Gregor
  id: '107'
  last_name: Engels
citation:
  ama: 'Gottschalk S, Yigitbas E, Schmidt E, Engels G. Model-based Product Configuration
    in Augmented Reality Applications. In: Bernhaupt R, Ardito C, Sauer S, eds. <i>Human-Centered
    Software Engineering. HCSE 2020</i>. Vol 12481. Lecture Notes in Computer Science.
    Cham: Springer; 2020. doi:<a href="https://doi.org/10.1007/978-3-030-64266-2_5">10.1007/978-3-030-64266-2_5</a>'
  apa: 'Gottschalk, S., Yigitbas, E., Schmidt, E., &#38; Engels, G. (2020). Model-based
    Product Configuration in Augmented Reality Applications. In R. Bernhaupt, C. Ardito,
    &#38; S. Sauer (Eds.), <i>Human-Centered Software Engineering. HCSE 2020</i> (Vol.
    12481). Cham: Springer. <a href="https://doi.org/10.1007/978-3-030-64266-2_5">https://doi.org/10.1007/978-3-030-64266-2_5</a>'
  bibtex: '@inproceedings{Gottschalk_Yigitbas_Schmidt_Engels_2020, place={Cham}, series={Lecture
    Notes in Computer Science}, title={Model-based Product Configuration in Augmented
    Reality Applications}, volume={12481}, DOI={<a href="https://doi.org/10.1007/978-3-030-64266-2_5">10.1007/978-3-030-64266-2_5</a>},
    booktitle={Human-Centered Software Engineering. HCSE 2020}, publisher={Springer},
    author={Gottschalk, Sebastian and Yigitbas, Enes and Schmidt, Eugen and Engels,
    Gregor}, editor={Bernhaupt, Regina and Ardito, Carmelo and Sauer, StefanEditors},
    year={2020}, collection={Lecture Notes in Computer Science} }'
  chicago: 'Gottschalk, Sebastian, Enes Yigitbas, Eugen Schmidt, and Gregor Engels.
    “Model-Based Product Configuration in Augmented Reality Applications.” In <i>Human-Centered
    Software Engineering. HCSE 2020</i>, edited by Regina Bernhaupt, Carmelo Ardito,
    and Stefan Sauer, Vol. 12481. Lecture Notes in Computer Science. Cham: Springer,
    2020. <a href="https://doi.org/10.1007/978-3-030-64266-2_5">https://doi.org/10.1007/978-3-030-64266-2_5</a>.'
  ieee: S. Gottschalk, E. Yigitbas, E. Schmidt, and G. Engels, “Model-based Product
    Configuration in Augmented Reality Applications,” in <i>Human-Centered Software
    Engineering. HCSE 2020</i>, Eindhoven, 2020, vol. 12481.
  mla: Gottschalk, Sebastian, et al. “Model-Based Product Configuration in Augmented
    Reality Applications.” <i>Human-Centered Software Engineering. HCSE 2020</i>,
    edited by Regina Bernhaupt et al., vol. 12481, Springer, 2020, doi:<a href="https://doi.org/10.1007/978-3-030-64266-2_5">10.1007/978-3-030-64266-2_5</a>.
  short: 'S. Gottschalk, E. Yigitbas, E. Schmidt, G. Engels, in: R. Bernhaupt, C.
    Ardito, S. Sauer (Eds.), Human-Centered Software Engineering. HCSE 2020, Springer,
    Cham, 2020.'
conference:
  end_date: 2020-12-02
  location: Eindhoven
  name: 8th International Working Conference on Human-Centered Software Engineering
    (HCSE'20)
  start_date: 2020-11-30
date_created: 2020-08-25T08:27:38Z
date_updated: 2022-01-06T06:53:28Z
ddc:
- '000'
department:
- _id: '66'
- _id: '534'
doi: 10.1007/978-3-030-64266-2_5
editor:
- first_name: Regina
  full_name: Bernhaupt, Regina
  last_name: Bernhaupt
- first_name: Carmelo
  full_name: Ardito, Carmelo
  last_name: Ardito
- first_name: Stefan
  full_name: Sauer, Stefan
  last_name: Sauer
file:
- access_level: open_access
  content_type: application/pdf
  creator: sego
  date_created: 2020-11-30T08:33:30Z
  date_updated: 2020-11-30T08:36:52Z
  file_id: '20541'
  file_name: HCSE20_full.pdf
  file_size: 2258601
  relation: main_file
file_date_updated: 2020-11-30T08:36:52Z
has_accepted_license: '1'
intvolume: '     12481'
keyword:
- Product Configuration
- Augmented Reality
- Runtime Adaptation
- Dynamic Software Product Lines
language:
- iso: eng
oa: '1'
place: Cham
project:
- _id: '1'
  name: SFB 901
- _id: '4'
  name: SFB 901 - Project Area C
- _id: '17'
  name: SFB 901 - Subproject C5
publication: Human-Centered Software Engineering. HCSE 2020
publication_status: published
publisher: Springer
series_title: Lecture Notes in Computer Science
status: public
title: Model-based Product Configuration in Augmented Reality Applications
type: conference
user_id: '47208'
volume: 12481
year: '2020'
...
---
_id: '44'
abstract:
- lang: eng
  text: Natural language software requirements descriptions enable end users to formulate
    their wishes and expectations for a future software product without much prior
    knowledge in requirements engineering. However, these descriptions are susceptible
    to linguistic inaccuracies such as ambiguities and incompleteness that can harm
    the development process. There is a number of software solutions that can detect
    deficits in requirements descriptions and partially solve them, but they are often
    hard to use and not suitable for end users. For this reason, we develop a software
    system that helps end-users to create unambiguous and complete requirements descriptions
    by combining existing expert tools and controlling them using automatic compensation
    strategies. In order to recognize the necessity of individual compensation methods
    in the descriptions, we have developed linguistic indicators, which we present
    in this paper. Based on these indicators, the whole text analysis pipeline is
    ad-hoc configured and thus adapted to the individual circumstances of a requirements
    description.
author:
- first_name: Frederik Simon
  full_name: Bäumer, Frederik Simon
  id: '38837'
  last_name: Bäumer
- first_name: Michaela
  full_name: Geierhos, Michaela
  id: '42496'
  last_name: Geierhos
  orcid: 0000-0002-8180-5606
citation:
  ama: 'Bäumer FS, Geierhos M. Flexible Ambiguity Resolution and Incompleteness Detection
    in Requirements Descriptions via an Indicator-based Configuration of Text Analysis
    Pipelines. In: <i>Proceedings of the 51st Hawaii International Conference on System
    Sciences</i>. ; 2018:5746-5755. doi:<a href="https://doi.org/10125/50609">10125/50609</a>'
  apa: Bäumer, F. S., &#38; Geierhos, M. (2018). Flexible Ambiguity Resolution and
    Incompleteness Detection in Requirements Descriptions via an Indicator-based Configuration
    of Text Analysis Pipelines. In <i>Proceedings of the 51st Hawaii International
    Conference on System Sciences</i> (pp. 5746–5755). Big Island, Waikoloa Village.
    <a href="https://doi.org/10125/50609">https://doi.org/10125/50609</a>
  bibtex: '@inproceedings{Bäumer_Geierhos_2018, title={Flexible Ambiguity Resolution
    and Incompleteness Detection in Requirements Descriptions via an Indicator-based
    Configuration of Text Analysis Pipelines}, DOI={<a href="https://doi.org/10125/50609">10125/50609</a>},
    booktitle={Proceedings of the 51st Hawaii International Conference on System Sciences},
    author={Bäumer, Frederik Simon and Geierhos, Michaela}, year={2018}, pages={5746–5755}
    }'
  chicago: Bäumer, Frederik Simon, and Michaela Geierhos. “Flexible Ambiguity Resolution
    and Incompleteness Detection in Requirements Descriptions via an Indicator-Based
    Configuration of Text Analysis Pipelines.” In <i>Proceedings of the 51st Hawaii
    International Conference on System Sciences</i>, 5746–55, 2018. <a href="https://doi.org/10125/50609">https://doi.org/10125/50609</a>.
  ieee: F. S. Bäumer and M. Geierhos, “Flexible Ambiguity Resolution and Incompleteness
    Detection in Requirements Descriptions via an Indicator-based Configuration of
    Text Analysis Pipelines,” in <i>Proceedings of the 51st Hawaii International Conference
    on System Sciences</i>, Big Island, Waikoloa Village, 2018, pp. 5746–5755.
  mla: Bäumer, Frederik Simon, and Michaela Geierhos. “Flexible Ambiguity Resolution
    and Incompleteness Detection in Requirements Descriptions via an Indicator-Based
    Configuration of Text Analysis Pipelines.” <i>Proceedings of the 51st Hawaii International
    Conference on System Sciences</i>, 2018, pp. 5746–55, doi:<a href="https://doi.org/10125/50609">10125/50609</a>.
  short: 'F.S. Bäumer, M. Geierhos, in: Proceedings of the 51st Hawaii International
    Conference on System Sciences, 2018, pp. 5746–5755.'
conference:
  end_date: 2018-01-06
  location: Big Island, Waikoloa Village
  name: 51st Hawaii International Conference on System Sciences (HICSS 2018)
  start_date: 2018-01-03
date_created: 2017-10-17T12:40:59Z
date_updated: 2022-01-06T07:01:01Z
ddc:
- '000'
department:
- _id: '36'
- _id: '1'
- _id: '579'
doi: 10125/50609
file:
- access_level: closed
  content_type: application/pdf
  creator: ups
  date_created: 2018-11-02T14:32:35Z
  date_updated: 2018-11-02T14:32:35Z
  file_id: '5274'
  file_name: paper0722.pdf
  file_size: 753693
  relation: main_file
  success: 1
file_date_updated: 2018-11-02T14:32:35Z
has_accepted_license: '1'
keyword:
- 'Software Product Lines: Engineering'
- Services
- and Management
- Ambiguities
- Incompleteness
- Natural Language Processing
- Software Requirements
language:
- iso: eng
main_file_link:
- open_access: '1'
  url: https://scholarspace.manoa.hawaii.edu/bitstream/10125/50609/1/paper0722.pdf
oa: '1'
page: 5746-5755
project:
- _id: '1'
  name: SFB 901
- _id: '3'
  name: SFB 901 - Project Area B
- _id: '9'
  name: SFB 901 - Subproject B1
publication: Proceedings of the 51st Hawaii International Conference on System Sciences
publication_identifier:
  isbn:
  - 978-0-9981331-1-9
publication_status: published
quality_controlled: '1'
status: public
title: Flexible Ambiguity Resolution and Incompleteness Detection in Requirements
  Descriptions via an Indicator-based Configuration of Text Analysis Pipelines
type: conference
user_id: '477'
year: '2018'
...
