A survey of metaprogramming languages

Y Lilis, A Savidis - ACM Computing Surveys (CSUR), 2019 - dl.acm.org
Metaprogramming is the process of writing computer programs that treat programs as data,
enabling them to analyze or transform existing programs or generate new ones. While the …

Granularity in software product lines

C Kästner, S Apel, M Kuhlemann - Proceedings of the 30th international …, 2008 - dl.acm.org
Building software product lines (SPLs) with features is a challenging task. Many SPL
implementations support features with coarse granularity-eg, the ability to add and wrap …

[PDF][PDF] Integrating compositional and annotative approaches for product line engineering

C Kästner, S Apel - Proc. GPCE Workshop on Modularization …, 2008 - se.cs.uni-saarland.de
Software product lines can be implemented with many different approaches. However, there
are common underlying mechanisms which allow a classification into compositional and …

First-class state change in plaid

J Sunshine, K Naden, S Stork, J Aldrich… - ACM SIGPLAN …, 2011 - dl.acm.org
Objects model the world, and state is fundamental to a faithful modeling. Engineers use state
machines to understand and reason about state transitions, but programming languages …

[PDF][PDF] Visualizing Software Product Line Variabilities in Source Code.

C Kästner, S Trujillo, S Apel - SPLC (2), 2008 - Citeseer
Implementing software product lines is a challenging task. Depending on the
implementation technique the code that realizes a feature is often scattered across multiple …

Integrating nominal and structural subty**

D Malayeri, J Aldrich - ECOOP 2008–Object-Oriented Programming: 22nd …, 2008 - Springer
Nominal and structural subty** each have their own strengths and weaknesses. Nominal
subty** allows programmers to explicitly express design intent, and, when types are …

A new modular implementation for stateful traits

P Tesone, S Ducasse, G Polito, L Fabresse… - Science of Computer …, 2020 - Elsevier
The term traits is overloaded in the literature. In this work we refer to traits as the stateless
model and implementation described in Schaerli et al. articles. Traits provide a flexible way …

Implementing software product lines using traits

L Bettini, F Damiani, I Schaefer - … of the 2010 ACM Symposium on …, 2010 - dl.acm.org
A software product line (SPL) is a set of software systems with well-defined commonalities
and variabilities that are developed by managed reuse of common artifacts. In this paper, we …

Expressive and safe static reflection with MorphJ

SS Huang, Y Smaragdakis - ACM SIGPLAN Notices, 2008 - dl.acm.org
Recently, language extensions have been proposed for Java and C# to support pattern-
based reflective declaration. These extensions introduce a disciplined form of meta …

A unified and formal programming model for deltas and traits

F Damiani, R Hähnle, E Kamburjan… - … 2017, Held as Part of the …, 2017 - Springer
This paper presents a unified model for two complementary approaches of code reuse:
Traits and Delta-Oriented Programming (DOP). Traits are used to modularly construct …