On the Expressive Power of Languages for Static Variability -- Summary

Read full text
Authors: Paul Maximilian Bittner, Alexander Schultheiß, Benjamin Moosherr, Jeffrey M. Young, Leopoldo Teixeira, Eric Walkingshaw, Parisa Ataei, Thüm, Thomas
Cited by: 0

Abstract

We report about recent research on the foundations of software product-line engineering, originally published at the OOPSLA issue of the Proceedings of the ACM on Programming Languages (PACMPL) in 2024 [Bi24]. Our research addresses fundamental open problems in software engineering of configurable systems with programming language theory. Variability permeates software development to satisfy ever-changing requirements and mass-customization needs. A prime example is the Linux kernel, which employs the C preprocessor to specify a set of related but distinct kernel variants. To study, analyze, and verify variational software, several formal languages have been proposed. For example, the choice calculus has been successfully applied for type checking configurable software, while other formalisms have been used for variational model checking or change impact analysis. Yet, these languages have not been formally compared, hence, little is known about their relationships. Crucially, it is unclear to what extent one language subsumes another, how research results from one language can be applied to other languages, and which language is suitable for which purpose or domain. In our OOPSLA paper, we propose a formal framework to compare the expressive power of languages for static (i. e. compile-time) variability. After formalizing and unifying existing languages, we can formally compare these languages based on mutual compilers and a meta-theory on expressiveness. We find different levels of expressiveness, with the choice calculus being among the most expressive languages.

Fields of Study & Subjects

Advanced Software Engineering Methodologies Logic programming and type systems Model-Driven Software Engineering Techniques

Publication details

Journal / source
Gesellschaft für Informatik (GI)
Publication date
1 January 2026
Language
EN