PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
February 8, 20260 citationsOpen Access

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

PBPaul Maximilian BittnerASAlexander SchultheißBMBenjamin Moosherr

Key Points

  • The study aims to understand and compare the expressive power of various programming languages used for static variability in software engineering.
  • Proposed a formal framework to compare languages for static variability.
  • Unified existing languages based on mutual compilers.
  • Developed a meta-theory on expressiveness for comparison.
  • Identified different levels of expressiveness among formal languages.
  • Found that the choice calculus is one of the most expressive languages for handling software variability.

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.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Bittner et al. (2026) studied this question.

synapsesocial.com/papers/698828eb0fc35cd7a8848d15https://doi.org/10.18420/se2026_46
Ask AI
Helpful
Bookmark
Share
View Full Paper

Also Consider

Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context:

  1. 1Modular language product lines: concept, tool and analysis2024 · 3 citations
  2. 2Vigorware: New Axioms for How Software Exists and How It Is Built2026
  3. 3Extensions and Scalability Experiments of a Generic Model-Driven Architecture for Variability Model Reasoning2024
  4. 4Vigorware: New Axioms for How Software Exists and How It Is Built2026
  5. 5Variability management and software product line knowledge in software companies2024 · 4 citations