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 …
was extensively tested with a test suite developed alongside the project, following the Test …
Compositional type checking of delta-oriented software product lines
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 …
product lines. A product line is represented by a code base and a product line declaration …
A new modular implementation for stateful traits
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 …
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 …
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 …
orthogonal constructs: classes for storing object state, interfaces for expressing object types …
A unified and formal programming model for deltas and traits
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 and Delta-Oriented Programming (DOP). Traits are used to modularly construct …
Traits: Correctness-by-Construction for Free
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) …
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 …
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 …
structuring code in object-oriented programming, to achieve fine-grained code reuse. A trait …
Flexible Correct-by-Construction Programming
Correctness-by-Construction (CbC) is an incremental program construction process to
construct functionally correct programs. The programs are constructed stepwise along with a …
construct functionally correct programs. The programs are constructed stepwise along with a …