Fri 25 Oct 2024 14:50 - 15:10 at IBR East - Language-Specific Research Chair(s): Matthew Flatt

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 the essence 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 that most variability languages are complete, sound, and equally expressive, rendering existing and future research more broadly applicable by bridging the gaps between parallel research efforts.

Fri 25 Oct

Displayed time zone: Pacific Time (US & Canada) change

13:50 - 15:30
Language-Specific ResearchOOPSLA 2024 at IBR East
Chair(s): Matthew Flatt University of Utah
13:50
20m
Talk
Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization
OOPSLA 2024
Joseph W. Cutler University of Pennsylvania, Craig Disselkoen Amazon Web Services, Aaron Eline Amazon Web Services, Shaobo He Amazon Web Services, Kyle Headley Unaffiliated, Michael Hicks Amazon Web Services and the University of Maryland, Kesha Hietala Amazon Web Services, Lef Ioannidis University of Pennsylvania, John Kastner Amazon Web Services, Anwar Mamat University of Maryland, Darin McAdams Amazon Web Services, Matt McCutchen Unaffiliated, Neha Rungta Amazon Web Services, Emina Torlak Amazon Web Services, USA, Andrew Wells Amazon Web Services
DOI
14:10
20m
Talk
CoolerSpace: A Language for Physically Correct and Computationally Efficient Color Programming
OOPSLA 2024
Ethan Chen University of Rochester, Jiwon Chang University of Rochester, Yuhao Zhu University of Rochester
DOI
14:30
20m
Talk
Design and Implementation of an Aspect-Oriented C Programming Language
OOPSLA 2024
Zhe Chen Nanjing University of Aeronautics and Astronautics, Yunlong Zhu Nanjing University of Aeronautics and Astronautics, Zhemin Wang Nanjing University of Aeronautics and Astronautics
DOI
14:50
20m
Talk
On the Expressive Power of Languages for Static VariabilityOOPSLA 2024 Distinguished Artifact Award
OOPSLA 2024
Paul Maximilian Bittner Paderborn University, Alexander Schultheiß Paderborn University, Benjamin Moosherr University of Ulm, Jeffrey Young IOHK, Leopoldo Teixeira Federal University of Pernambuco, Eric Walkingshaw Unaffiliated, Parisa Ataei Oregon State University, Thomas Thüm Paderborn University
Link to publication DOI Pre-print Media Attached
15:10
20m
Talk
QuAC: Quick Attribute-Centric Type Inference for Python
OOPSLA 2024
Jifeng Wu The University of British Columbia, Caroline Lemieux University of British Columbia
DOI Pre-print