Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Boris Düdder is active.

Publication


Featured researches published by Boris Düdder.


european symposium on programming | 2014

Staged Composition Synthesis

Boris Düdder; Moritz Martens; Jakob Rehof

A framework for composition synthesis is provided in which metalanguage combinators are supported and the execution of synthesized programs can be staged into composition-time code generation stagei¾?1 and run-time execution stagei¾?2. By extending composition synthesis to encompass both object language L1 and metalanguage L2 combinators, composition synthesis becomes a powerful and flexible framework for the generation of L1-program compositions. A system of modal intersection types is introduced into a combinatory composition language to control the distinction between L1- and L2-combinators at the type level, thereby exposing the language distinction to composition synthesis. We provide a theory of correctness of the framework which ensures that generated compositions of component implementations are well typed and that their execution can be staged such that all metalanguage combinators can be computed away completely at stagei¾?1, leaving only well typed L1-code for execution at stagei¾?2. Our framework has been implemented, and we report on experiments.


leveraging applications of formal methods | 2014

Combinatory Logic Synthesizer

Jan Bessai; Andrej Dudenhefner; Boris Düdder; Moritz Martens; Jakob Rehof

We present Combinatory Logic Synthesizer CLS, a type-based tool to automatically compose larger systems from repositories of components. We overview its underlying theory, combinatory logic with intersection types, and exemplify its application to synthesis. We describe features and architecture of the tool and our plans for its ongoing and future development. Finally, we present some use cases in ongoing work, especially in the context of synthesis for Object Oriented Software.


computer science logic | 2012

Bounded Combinatory Logic

Boris Düdder; Moritz Martens; Jakob Rehof; Pawel Urzyczyn

In combinatory logic one usually assumes a fixed set of basic combinators (axiom schemes), usually K and S. In this setting the set of provable formulas (inhabited types) is PSPACE-complete in simple types and undecidable in intersection types. When arbitrary sets of axiom schemes are considered, the inhabitation problem is undecidable even in simple types (this is known as Linial-Post theorem). k-bounded combinatory logic with intersection types arises from combinatory logic by imposing the bound k on the depth of types (formulae) which may be substituted for type variables in axiom schemes. We consider the inhabitation (provability) problem for k-bounded combinatory logic: Given an arbitrary set of typed combinators and a type tau, is there a combinatory term of type tau in k-bounded combinatory logic? Our main result is that the problem is (k+2)-EXPTIME complete for k-bounded combinatory logic with intersection types, for every fixed k (and hence non-elementary when k is a parameter). We also show that the problem is EXPTIME-complete for simple types, for all k. Theoretically, our results give new insight into the expressive power of intersection types. From an application perspective, our results are useful as a foundation for composition synthesis based on combinatory logic.


software product lines | 2015

Towards migrating object-oriented frameworks to enable synthesis of product line members

George T. Heineman; Armend Hoxha; Boris Düdder; Jakob Rehof

For many software engineers, object-oriented frameworks represent the highest level of achievement in extensible design. The framework designers become experts in a specific application domain and design cooperating classes that impose specific responsibilities and collaborations for those seeking to extend the framework. In short, once a framework matures, it has complicated usage patterns that must be followed otherwise nothing works. Turning a framework into a software product line is challenging because of the difficulty in coding these complex behaviors and enabling the configuration of product line members using the framework. We propose to support this migration process by showing how to design a repository of modular units to synthesize member applications compositionally. These units are formalized using combinatory logic synthesis, a type-based approach to component-oriented synthesis. We demonstrate the feasibility of our approach with a Java-based product line for which we can automatically synthesize member applications.


leveraging applications of formal methods | 2016

Combinatory Process Synthesis

Jan Bessai; Andrej Dudenhefner; Boris Düdder; Moritz Martens; Jakob Rehof

We report on a type-theoretic method for functional synthesis of processes from repositories of components. Our method relies on the existing framework for composition synthesis based on combinatory logic, (CL)S. Simple types for BPMN 2.0 components and a taxonomy of domain specific concepts are used to assign types to BPMN 2.0 fragments and functional fragment constructors. Both serve as input for the automatic creation of meaningful processes. Staging synthesis into two levels provides a separation of concerns between the easy task of extracting fragments from existing processes and the more sophisticated task of deducing functional fragment transformations.


ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE | 2015

Typing Classes and Mixins with Intersection Types

Jan Bessai; Boris Düdder; Andrej Dudenhefner; Tzu-Chun Chen; Ugo de'Liguoro

We study an assignment system of intersection types for a lambda-calculus with records and a recordmerge operator, where types are preserved both under subject reduction and expansion. The calculus is expressive enough to naturally represent mixins as functions over recursively defined classes, whose fixed points, the objects, are recursive records. In spite of the double recursion that is involved in their definition, classes and mixins can be meaningfully typed without resorting to neither recursive nor F-bounded polymorphic types. We then adapt mixin construct and composition to Java and C#, relying solely on existing features in such a way that the resulting code remains typable in the respective type systems. We exhibit some example code, and study its typings in the intersection type system via interpretation into the lambdacalculus with records we have proposed.


international conference on typed lambda calculi and applications | 2013

Intersection Type Matching with Subtyping

Boris Düdder; Moritz Martens; Jakob Rehof

Type matching problems occur in a number of contexts, including library search, component composition, and inhabitation. We consider the intersection type matching problem under the standard notion of subtyping for intersection types: Given intersection types τ and σ, where σ is a constant type, does there exist a type substitution S such that S(τ) is a subtype of σ? We show that the matching problem is NP-complete. NP-hardness holds already for the restriction to atomic substitutions. The main contribution is an NP-algorithm which is engineered for efficiency by minimizing nondeterminism and running in Ptime on deterministic input problems. Our algorithm is based on a nondeterministic polynomial time normalization procedure for subtype constraint systems with intersection types. We have applied intersection type matching in optimizations of an inhabitation algorithm.


leveraging applications of formal methods | 2016

A Long and Winding Road Towards Modular Synthesis

George T. Heineman; Jan Bessai; Boris Düdder; Jakob Rehof

This paper offers a personal reflection on a number of attempts over the past decade to apply a variety of approaches to construct a product line for solitaire card games implemented in Java. A product line shares a common set of features developed from a common set of software artifacts. A feature is a unit of functionality within a system that is visible to an end-user and can be used to differentiate members of the product line. The ultimate research goal is to assemble a product line by selecting a configuration of a set of pre-designed modular units and developing new units as necessary for individual members; in short, incorporating configuration into routine development. A secondary goal was to develop a suitable tool chain that could be integrated with existing IDEs to achieve widespread acceptance of the approach. We compare progress against by-hand development in Java. During this period we investigated a number of approaches from the research literature, including components, aspects, and layers; these efforts led to a productive collaboration supported by type theory.


typed lambda calculus and applications | 2015

Mixin Composition Synthesis Based on Intersection Types

Jan Bessai; Andrej Dudenhefner; Boris Düdder; Tzu-Chun Chen; Ugo de'Liguoro; Jakob Rehof

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 corresponds to a mixin composition typed by the goal type.


formal aspects of component software | 2015

Combinatory Synthesis of Classes Using Feature Grammars

Jan Bessai; Boris Düdder; George T. Heineman; Jakob Rehof

We describe a method for automatically transforming feature grammars into type-specifications which are subsequently used to synthesize a code-generator for a product of a given feature selection. Feature models are assumed to be given in the form of feature grammars with constraints, and we present a generic type-theoretic representation of such grammars. Our synthesis method is based on an extension of previous work in combinatory logic synthesis, where semantic types can be superimposed onto native APIs to specify a repository of components as well as synthesis goals. In our case, semantic types correspond to feature selections. We use an encoding of boolean logic in intersection types, which allows us to directly represent logical formulas expressing complex feature selection constraints. The novelty of our approach is the possibility to perform retrieval, selection and composition of products in a unified form, without sacrificing modularity. In contrast to constraint based methods, multiple selections of a single feature can coexist.

Collaboration


Dive into the Boris Düdder's collaboration.

Top Co-Authors

Avatar

Jakob Rehof

Technical University of Dortmund

View shared research outputs
Top Co-Authors

Avatar

Jan Bessai

Technical University of Dortmund

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Andrej Dudenhefner

Technical University of Dortmund

View shared research outputs
Top Co-Authors

Avatar

George T. Heineman

Worcester Polytechnic Institute

View shared research outputs
Top Co-Authors

Avatar

Tzu-Chun Chen

Technische Universität Darmstadt

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

George T. Heineman

Worcester Polytechnic Institute

View shared research outputs
Top Co-Authors

Avatar

Oliver Garbe

Technical University of Dortmund

View shared research outputs
Researchain Logo
Decentralizing Knowledge