Outubro, 2024

Paul Maximilian Bittner, Alexander Schultheiß, Benjamin Moosherr, Jeffrey M. Young, Leopoldo Teixeira, Eric Walkingshaw, Parisa Ataei, and Thomas Thüm. 2024. On the Expressive Power of Languages for Static Variability. Proc. ACM Program. Lang. 8, OOPSLA2, Article 307 (October 2024), 33 pages. https://doi.org/10.1145/3689747

Abstract

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 and symbolic execution of configurable software, while other formalisms have been used for variational model checking, change impact analysis, among other use cases. 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 this paper, we propose a formal framework to compare the expressive power of languages for static (i.e., compile-time) variability. By establishing a common semantic domain to capture a widely used intuition of explicit variability, we can formulate the basic, yet to date neglected, properties of soundness, completeness, and expressiveness for variability languages. We then prove the (un)soundness and (in)completeness of a range of existing languages, and relate their ability to express the same variational systems. We implement our framework as an extensible open source Agda library in which proofs act as correct compilers between languages or differencing algorithms. We find different levels of expressiveness as well as complete and incomplete languages w.r.t. our unified semantic domain, with the choice calculus being among the most expressive languages.

Authors

Paul Maximilian Bittner, Paderborn University, Paderborn, Germany / Ulm University, Ulm, Germany

Alexander Schultheiß, Paderborn University, Paderborn, Germany / University of Bern, Bern, Switzerland

Benjamin Moosherr, Ulm University, Ulm, Germany

Jeffrey M Young, Input Output Global, Longmont, USA

Leopoldo Motta Teixeira, Federal University of Pernambuco, Recife, Brazil

Eric Walkingshaw, Unaffiliated, Corvallis, USA

Parisa Ataei, Input Output Global, Longmont, USA

Thomas Thüm, Paderborn University, Paderborn, Germany / TU Braunschweig, Braunschweig, Germany

Comentários desativados

Sobre este site

Portal institucional do Centro de Informática – UFPE

Encontre-nos

Endereço
Av. Jornalista Aníbal Fernandes, s/n – Cidade Universitária.
Recife-PE – Brasil
CEP: 50.740-560

Horário
Segunda–Sexta: 8:00–18:00