Jan Bessai

dblp:151/4541 · DBLP profile ↗
← Back
7ranked-venue papers
5as first author
3since 2021 · last 2022
0000-0002-8506-0808ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 3 first-author · 1 since 2021Theory of computation · 2 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021
YearPublicationVenuePosition
2022 Restricting Tree Grammars with Term Rewriting
Jan Bessai, Lukasz Czajka 0001, Felix Laarmann, Jakob Rehof
FSCD1
2022 Design Space Exploration for Sampling-Based Motion Planning Programs with Combinatory Logic Synthesis
Tristan Schäfer, Jan Bessai, Constantin Chaumet, Jakob Rehof, Christian Riest
WAFR2
2021 Covariant Conversions (CoCo): A Design Pattern for Type-Safe Modular Software Evolution in Object-Oriented Systems
abstract
Software evolution is an essential challenge for all software engineers, typically addressed solely using code versioning systems and language-specific code analysis tools. Most versioning systems view the evolution of a system as a directed acyclic graph of steps, with independent branches that could be merged. What these systems fail to provide is the ability to ensure stable APIs or that each subsequent evolution represents a cohesive extension yielding a valid system. Modular software evolution ensures that APIs remain stable, which is achieved by ensuring that only additional methods, fields, and data types are added, while treating existing modules through blackbox interfaces. Even with these restrictions, it must be possible to add new variations, fields, and methods without extensive duplication of prior module code. In contrast to most literature, our focus is on ensuring modular software evolution using mainstream object-oriented programming languages, instead of resorting to novel language extensions. We present a novel CoCo design pattern that supports type-safe covariantly overridden convert methods to transform earlier data type instances into their newest evolutionary representation to access operations that had been added later. CoCo supports both binary methods and producer methods. We validate and contrast our approach using a well-known compiler construction case study that other researchers have also investigated for modular evolution. Our resulting implementation relies on less boilerplate code, is completely type-safe, and allows clients to use normal object-oriented calling conventions. We also compare CoCo with existing approaches to the Expression Problem. We conclude by discussing how CoCo could change the direction of currently proposed Java language extensions to support closed-world assumptions about data types, as borrowed from functional programming.
Jan Bessai, George T. Heineman, Boris Düdder
ECOOP1
2018 Mixin Composition Synthesis based on Intersection Types
abstract
We present a method for synthesizing compositions of mixins using type inhabitation in intersection types. First, recursively defined classes and mixins, which are functions over classes, are expressed as terms in a lambda calculus with records. Intersection types with records and record-merge are used to assign meaningful types to these terms without resorting to recursive types. Second, typed terms are translated to a repository of typed combinators. We show a relation between record types with record-merge and intersection types with constructors. This relation is used to prove soundness and partial completeness of the translation with respect to mixin composition synthesis. Furthermore, we demonstrate how a translated repository and goal type can be used as input to an existing framework for composition synthesis in bounded combinatory logic via type inhabitation. The computed result is a class typed by the goal type and generated by a mixin composition applied to an existing class.
Jan Bessai, Tzu-Chun Chen, Andrej Dudenhefner, Boris Düdder, Ugo de'Liguoro, Jakob Rehof
Log. Methods Comput. Sci.1
2016 Combinatory Process Synthesis
Jan Bessai, Andrej Dudenhefner, Boris Düdder, Moritz Martens, Jakob Rehof
ISoLA (1)1
2016 A Long and Winding Road Towards Modular Synthesis
George T. Heineman, Jan Bessai, Boris Düdder, Jakob Rehof
ISoLA (1)2
2014 Combinatory Logic Synthesizer
Jan Bessai, Andrej Dudenhefner, Boris Düdder, Moritz Martens, Jakob Rehof
ISoLA (1)1