SPLASH Events 2021
2021 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH Events 2021)
Powered by
Conference Publishing Consulting

20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2021), October 17–18, 2021, Chicago, IL, USA

GPCE 2021 – Preliminary Table of Contents

Contents - Abstracts - Authors

20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2021)


Title Page

Message from the Chairs


The Life Cycle of Features in Highly-Configurable Software Systems Evolving in Space and Time
Gabriela Karoline MichelonORCID logo, Wesley Klewerton Guez Assunção, David Obermann, Lukas Linsbauer, Paul Grünbacher, and Alexander Egyed
(JKU Linz, Austria; PUC-Rio, Brazil; Western Paraná State University, Brazil; TU Braunschweig, Germany)

Article Search
Towards Supporting SPL Engineering in Low-Code Platforms using a DSL Approach
Alexandre BragançaORCID logo, Isabel Azevedo ORCID logo, Nuno Bettencourt ORCID logo, Carlos Morais, Diogo Teixeira, and David Caetano
(Institute of Engineering of Porto, Portugal; Polytechnic of Porto, Portugal; Games, Interaction and Learning Technologies, Portugal; nterdisciplinary Studies Research Center, Portugal; NumbersBelieve, n.n.)

Article Search
A Variational Database Management System
Parisa Ataei, Fariba Khan, and Eric Walkingshaw
(Oregon State University, USA)

Article Search
Metaprogramming with Combinators
Mahshid Shahmohammadian and Geoffrey MainlandORCID logo
(Drexel University, USA)

Article Search
Artifact and Reference Models for Generative AI Frameworks and Build Systems
Abdallah Atouani, Jörg Christian KirchhofORCID logo, Evgeny KusmenkoORCID logo, and Bernhard RumpeORCID logo
(RWTH Aachen University, Germany)

Article Search
Delta-Based Verification of Software Product Families
Marco Scaletta, Reiner Hähnle, Dominic Steinhöfel, and Richard Bubel
(TU Darmstadt, Germany; CISPA, Germany)

Article Search
Extracting the Power of Dependent Types
Artjoms ŠinkarovsORCID logo and Jesper Cockx
(Heriot-Watt University, UK; TU Delft, Netherlands)

Article Search
Lifted Termination Analysis by Abstract Interpretation and Its Applications
Aleksandar S. Dimovski
(Mother Teresa University at Skopje, Macedonia)

Article Search
Multi-stage Programming with Generative and Analytical Macros
Nicolas Stucki ORCID logo, Jonathan Immanuel Brachthäuser ORCID logo, and Martin Odersky
(EPFL, Switzerland; University of Tübingen, Germany)
In metaprogramming, code generation and code analysis are complementary. Traditionally, principled metaprogramming extensions for programming languages, like MetaML and BER MetaOCaml, offer strong foundations for code generation but lack equivalent support for code analysis. Similarly, existing macro systems are biased towards the code generation aspect.
In this work, we present a calculus for macros featuring both code generation and code analysis. The calculus directly models separate compilation of macros, internalizing a commonly neglected aspect of macros. The system ensures that the generated code is well-typed and hygienic.
We implement our system in Scala 3, provide a formalization, and prove its soundness.

Article Search
Compiling Pattern Matching to In-Place Modifications
Paul Iannetta ORCID logo, Laure Gonnord ORCID logo, and Gabriel RadanneORCID logo
(ENS Lyon, France; University of Lyon, France; LIP, France; Inria, France)
Algebraic data types and pattern matching are popular tools to build programs manipulating complex datastructures in a safe yet efficient manner. On top of its safety advantages, compilation techniques can turn pattern matching into highly efficient deconstruction code for immutable use cases. Conversely, high-performance datastructures and languages prefer to leverage (controlled) mutations to maximize time and memory efficiency. Algebraic data types provide a natural framework to efficiently describe in-place transformations as rewrite rules. Such representation could take advantage of parallelism opportunities that appear in tree-like structures.
We present early steps towards a new technique to compile pattern matching as parallel in-place modifications of the underlying memory representation. Towards this goal, we combine the usual language approach which is common in pattern-matching compilation with tools from the polyhedral model, which is commonly used in high-performance code generation to output efficient C code.
We present our formalism, along with a prototype implementation.

Article Search
HACCLE: Metaprogramming for Secure Multi-party Computation
Yuyan Bao, Kirshanthan Sundararajah, Raghav Malik ORCID logo, Qianchuan Ye, Christopher Wagner, Nouraldin Jaber, Fei Wang, Mohammad Hassan Ameri, Donghang Lu, Alexander Seto, Benjamin Delaware, Roopsha Samanta, Aniket Kate, Christina Garman, Jeremiah Blocki, Pierre-David Letourneau, Benoit Meister ORCID logo, Jonathan Springer, Tiark Rompf, and Milind KulkarniORCID logo
(Purdue University, USA; Reservoir Labs, USA)

Article Search
A DSL for Explanatory Decision Making
Martin Erwig and Prashant Kumar
(Oregon State University, USA)

Article Search
On-Stack Replacement for Program Generators and Source-to-Source Compilers
Grégory M. Essertel, Ruby Tahboub, and Tiark Rompf
(Purdue University, USA)

Article Search
Leveraging Relational Concept Analysis for Automated Feature Location in Software Product Lines
Nicolas Hlad, Bérénice Lemoine, Marianne Huchard, and Abdelhak-Djamel Seriai
(LIRMM, France; CNRS, France)

Article Search
Type-Safe Generation of Modules in Applicative and Generative Styles
Yuhi Sato and Yukiyoshi KameyamaORCID logo
(University of Tsukuba, Japan)

Article Search
Understanding and Improving Model-Driven IoT Systems through Accompanying Digital Twins
Jörg Christian KirchhofORCID logo, Lukas Malcher, and Bernhard RumpeORCID logo
(RWTH Aachen University, Germany)

Article Search

proc time: 2.71