On essential configuration complexity: Measuring interactions in highly-configurable systems

J Meinicke, CP Wong, C Kästner, T Thüm… - Proceedings of the 31st …, 2016 - dl.acm.org
Quality assurance for highly-configurable systems is challenging due to the exponentially
growing configuration space. Interactions among multiple options can lead to surprising …

Variability-aware static analysis at scale: An empirical study

AV Rhein, J Liebig, A Janker, C Kästner… - ACM Transactions on …, 2018 - dl.acm.org
The advent of variability management and generator technology enables users to derive
individual system variants from a configurable code base by selecting desired configuration …

Precise, dynamic information flow for database-backed applications

J Yang, T Hance, TH Austin, A Solar-Lezama… - ACM Sigplan …, 2016 - dl.acm.org
We present an approach for dynamic information flow control across the application and
database. Our approach reduces the amount of policy code required, yields formal …

Static data-flow analysis for software product lines in C: Revoking the preprocessor's special role

PD Schubert, P Gazzillo, Z Patterson, J Braha… - Automated Software …, 2022 - Springer
Many critical codebases are written in C, and most of them use preprocessor directives to
encode variability, effectively encoding software product lines. These preprocessor …

Seal: integrating program analysis and repository mining

F Sattler, S Böhm, PD Schubert, N Siegmund… - ACM Transactions on …, 2023 - dl.acm.org
Software projects are complex technical and organizational systems involving large
numbers of artifacts and developers. To understand and tame software complexity, a wide …

Projectional editing of variational software

E Walkingshaw, K Ostermann - ACM SIGPLAN Notices, 2014 - dl.acm.org
Editing the source code of variational software is complicated by the presence of variation
annotations, such as# ifdef statements, and by code that is only included in some …

[HTML][HTML] Variability encoding: From compile-time to load-time variability

A von Rhein, T Thüm, I Schaefer, J Liebig… - Journal of Logical and …, 2016 - Elsevier
Many software systems today are configurable. Analyzing configurable systems is
challenging, especially as (1) the number of system variants may grow exponentially with …

Morpheus: Variability-aware refactoring in the wild

J Liebig, A Janker, F Garbe, S Apel… - 2015 IEEE/ACM 37th …, 2015 - ieeexplore.ieee.org
Today, many software systems are configurable with conditional compilation. Just like any
software system, configurable systems need to be refactored in their evolution, but their …

Faster variational execution with transparent bytecode transformation

CP Wong, J Meinicke, L Lazarek… - Proceedings of the ACM on …, 2018 - dl.acm.org
Variational execution is a novel dynamic analysis technique for exploring highly
configurable systems and accurately tracking information flow. It is able to efficiently analyze …

Migrating gradual types

JP Campora, S Chen, M Erwig… - Proceedings of the ACM …, 2017 - dl.acm.org
Gradual typing allows programs to enjoy the benefits of both static typing and dynamic
typing. While it is often desirable to migrate a program from more dynamically-typed to more …