K-Java: A complete semantics of Java

D Bogdanas, G Roşu - Proceedings of the 42nd Annual ACM SIGPLAN …, 2015 - dl.acm.org
This paper presents K-Java, a complete executable formal semantics of Java 1.4. K-Java
was extensively tested with a test suite developed alongside the project, following the Test …

Compositional type checking of delta-oriented software product lines

L Bettini, F Damiani, I Schaefer - Acta Informatica, 2013 - Springer
Delta-oriented programming is a compositional approach to flexibly implementing software
product lines. A product line is represented by a code base and a product line declaration …

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 …

Typed first-class traits

X Bi, BCS Oliveira - 32nd European Conference on Object …, 2018 - drops.dagstuhl.de
Many dynamically-typed languages (including JavaScript, Ruby, Python or Racket) support
first-class classes, or related concepts such as first-class traits and/or mixins. In those …

super-Charging Object-Oriented Programming Through Precise Typing of Open Recursion

A Fan, L Parreaux - 37th European Conference on Object …, 2023 - drops.dagstuhl.de
We present a new variation of object-oriented programming built around three simple and
orthogonal constructs: classes for storing object state, interfaces for expressing object types …

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 …

Traits: Correctness-by-Construction for Free

T Runge, A Potanin, T Thüm, I Schaefer - International Conference on …, 2022 - Springer
We demonstrate that traits are a natural way to support correctness-by-construction (CbC) in
an existing programming language in the presence of traditional post-hoc verification (PhV) …

Implementing Java-like languages in Xtext with Xsemantics

L Bettini - Proceedings of the 28th Annual ACM Symposium on …, 2013 - dl.acm.org
In this paper we present Xsemantics, a DSL for writing type systems, reduction rules and in
general relation rules for languages implemented in Xtext. Xsemantics aims at minimizing …

Verifying traits: an incremental proof system for fine-grained reuse

F Damiani, J Dovland, EB Johnsen… - Formal Aspects of …, 2014 - Springer
Traits have been proposed as a more flexible mechanism than class inheritance for
structuring code in object-oriented programming, to achieve fine-grained code reuse. A trait …

Flexible Correct-by-Construction Programming

T Runge, T Bordis, A Potanin, T Thüm… - Logical Methods in …, 2023 - lmcs.episciences.org
Correctness-by-Construction (CbC) is an incremental program construction process to
construct functionally correct programs. The programs are constructed stepwise along with a …