Jakob Rehof

Jakob Rehof
Technische Universität Dortmund | TUD · Faculty of Computer Science

Professor

About

93
Publications
9,789
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,079
Citations
Introduction
Jakob’s research has spanned topics in logic, type theory, lambda calculus, concurrency theory, and programming languages - often with a focus on algorithms, complexity, and decidability - and applications thereof.

Publications

Publications (93)
Article
A data ecosystem (DE) offers a keystone-player or alliance-driven infrastructure that enables the interaction of different stakeholders and the resolution of interoperability issues among shared data. However, despite years of research in data governance and management, trustability is still affected by the absence of transparent and traceable data...
Preprint
Full-text available
A Data Ecosystem offers a keystone-player or alliance-driven infrastructure that enables the interaction of different stakeholders and the resolution of interoperability issues among shared data. However, despite years of research in data governance and management, trustability is still affected by the absence of transparent and traceable data-driv...
Article
Full-text available
The planning of machining operations for components using CAM requires careful consideration by highly trained personnel, with rising complexity in part requirements. This work proposes a novel domain-specific planning technique using Combinatory Logic Synthesis to generate a multitude of tool paths. By analyzing current state CNC path planning alg...
Article
Simulations are a common tool in the warehouse planning and adoption process for evaluating and comparing variants of a storage system. But simulation modeling is a complex and time-consuming task. Due to limited resources, often not all possible system variants can be modeled. A promising solution is the migration of an existing simulation model t...
Conference Paper
Full-text available
There is a high degree of flexibility in the design of production systems when it comes to the selection and configuration of machines. Simulation supports this complex decision process. However, modeling various configurations in a simulation environment is very time-consuming. We present a framework that includes component-based software synthesis t...
Technical Report
Full-text available
This report documents the program and the outcomes of Dagstuhl Seminar 19391 "Data Ecosystems: Sovereign Data Exchange among Organizations". The goal of the seminar was to bring together people from different disciplines (also outside the computer science area), in order to identify (i) a set of research challenges for the future development of dat...
Conference Paper
Full-text available
We show that recognizing axiomatizations of the Hilbert-style calculus containing only the axiom a → (b → a) is undecidable (a reduction from the Post correspondence problem is formalized in the Lean theorem prover). Interestingly, the problem remains undecidable considering only axioms which, when seen as simple types, are principal for some λ-ter...
Conference Paper
Full-text available
It is shown that in the simply typed λ-calculus the following decision problem of principal inhab-itation is Pspace-complete: Given a simple type τ , is there a λ-term N in β-normal form such that τ is the principal type of N ? While a Ben-Yelles style algorithm was presented by Broda and Damas in 1999 to count normal principal inhabitants (thereby...
Conference Paper
Full-text available
Provability in the intuitionistic second-order propositional logic (resp. inhabitation in the polymorphic lambda-calculus) was shown by Löb to be undecidable in 1976. Since the original proof is heavily condensed, Arts in collaboration with Dekkers provided a fully unfolded argument in 1992 spanning approximately fifty pages. Later in 1997, Urzyczy...
Article
Full-text available
We revisit the undecidability result of rank 3 intersection type inhabitation (Urzyczyn 2009) in pursuit of two goals. First, we simplify the existing proof, reducing simple semi-Thue systems to intersection type inhabitation in the original Coppo-Dezani type assignment system. Additionally, we outline a direct reduction from the Turing machine hal...
Technical Report
Full-text available
Water, light, plants and animals: the interplay of these factors in a natural ecosystem is an excellent role model for state-of-the-art value chains within economy, as ecosys-tems are characterized by the fact that not one of the systems members is able to optimize their well-being on their own. Any ecosystem has to come together and act as a whole...
Chapter
Full-text available
A decision procedure for the Barendregt-Coppo-Dezani subtype relation on intersection types (“BCD subtyping”) is presented and formally verified in Coq. Types are extended with unary, covariant, distributing, preordered type constructors and binary products. A quadratic upper bound on the algorithm runtime is established. The formalization can be c...
Article
Full-text available
We develop an algebraic and algorithmic theory of principality for the recently introduced framework of intersection type calculi with dimensional bound. The theory enables inference of principal type information under dimensional bound, it provides an algebraic and algorithmic theory of approximation of classical principal types in terms of comput...
Chapter
Full-text available
Increasing competition, stronger customer focus, shorter product lifecycles and accelerated technological developments imply that companies are faced with the challenge of adapting their own production to the circumstances at ever shorter intervals. The factory planning project is becoming increasingly complex, but there is less and less time avail...
Chapter
Combinatory Process Synthesis (CPS) is a special case of software synthesis that can be used to manage variability by synthetizing target-specific processes from a repository of components. While conducted CPS research mainly addresses formal aspects of algorithm engineering, no structured methodology is available that enables the broader industria...
Book
Das Graduiertenkolleg „Anpassungsintelligenz von Fabriken im dynamischen und komplexen Umfeld“ (GRK 2193) ist ein durch die Deutsche Forschungsgemeinschaft gefördertes koordiniertes Promotionsprogramm zur Förderung des wissenschaftlichen Nachwuchses im Themenfeld der interdisziplinären Fabrikanpassungsplanung. Das Graduiertenkolleg umspannt Doktora...
Article
Full-text available
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 with...
Article
Full-text available
The algebraic intersection type unification problem is an important component in proof search related to several natural decision problems in intersection type systems. It is unknown and remains open whether the algebraic intersection type unification problem is decidable. We give the first nontrivial lower bound for the problem by showing (our mai...
Article
Full-text available
We revisit the undecidability result of rank 3 intersection type inhabitation (Urzyczyn 2009) in pursuit of two goals. First, we strengthen the previous result by showing that intersection type inhabitation is undecidable for types of rank 3 and order 3, i.e. it is not necessary to introduce new functional dependencies (new instructions) during pro...
Article
A notion of dimension in intersection typed λ-calculi is presented. The dimension of a typed λ-term is given by the minimal norm of an elaboration (a proof theoretic decoration) necessary for typing the term at its type, and, intuitively, measures intersection introduction as a resource. Bounded-dimensional intersection type calculi are shown to en...
Article
Existierende Fabrikplanungsmodelle werden der Komplexität und Dynamik kontinuierlicher Fabriksystemanpassungen nicht ausreichend gerecht. Der vorgestellte Ansatz betrachtet einen modularen Aufbau von Planungsverläufen, welche mittels logikbasiertem Constraintsolving zusammengestellt werden. Das Ziel des Ansatzes ist die Entwicklung einer Planungsas...
Conference Paper
A notion of dimension in intersection typed λ-calculi is presented. The dimension of a typed λ-term is given by the minimal norm of an elaboration (a proof theoretic decoration) necessary for typing the term at its type, and, intuitively, measures intersection introduction as a resource. Bounded-dimensional intersection type calculi are shown to en...
Chapter
Full-text available
A typed \(\lambda \)-calculus, \(\lambda ^{\cap \Box }\), is introduced, combining intersection types and modal types. We develop the metatheory of \(\lambda ^{\cap \Box }\), with particular emphasis on the theory of subtyping and distributivity of the modal and intersection type operators. We describe how a stratification of \(\lambda ^{\cap \Box...
Article
Full-text available
The intersection type unification problem is an important component in proof search related to several natural decision problems in intersection type systems. It is unknown and remains open whether the unification problem is decidable. We give the first nontrivial lower bound for the problem by showing (our main result) that it is exponential time...
Conference Paper
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 functi...
Conference Paper
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...
Conference Paper
Full-text available
It is an old and beautiful dream of computer science to synthesize software applications from specifications. The beginning can be traced back to, at least, to 1957 (Summer Institute of Symbolic Logic, Cornell 1957) when Alonzo Church proposed to consider the problem of automatically constructing a finite-state procedure implementing a given input/...
Conference Paper
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 g...
Conference Paper
Full-text available
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...
Conference Paper
The composition of features that interact with each other is challenging. Algebraic formalisms have been proposed by various authors to describe feature compositions and their interactions. The intention of feature compositions is the composition of code modules to a product that fulfills users' requirements expressed by a feature selection. These...
Conference Paper
Developing a Software Product Line is a significant investment since domain experts must work together with software developers to understand and model a specific domain and then transform those models into a working software system. A product line increases the essential complexity of software assets because of the widespread variability among the...
Conference Paper
Full-text available
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 with...
Article
This volume contains a final and revised selection of papers presented at the Seventh Workshop on Intersection Types and Related Systems (ITRS 2014), held in Vienna (Austria) on July 18th, affiliated with TLCA 2014, Typed Lambda Calculi and Applications (held jointly with RTA, Rewriting Techniques and Applications) as part of FLoC and the Vienna Su...
Book
This edited monograph brings together research papers covering the state of the art in cloud computing for logistics. The book includes general business object models for intralogistics as well as user-friendly methods for logistics business process design. It also presents a general template for logistics applications from the cloud. The target au...
Technical Report
Full-text available
Positionspapier Logistik und IT: Die Verbindund zwischen Informationstechnologie und Logistik birgt das größte Potenzial für die Zukunftsfähigkeit des Wirtschaftsstandortes Deutschland.
Conference Paper
Full-text available
We present Combinatory Logic Synthesizer (CL)S, 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 futur...
Conference Paper
Full-text available
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 (stage 1) and run-time execution (stage 2). By extending composition synthesis to encompass both object language (L1) and metalanguage (L2) combinators, compo...
Article
This report documents the program and the outcomes of Dagstuhl Seminar 14232 "Design and Synthesis from Components" which took place from June 1st to June 6th, 2014. The seminar aimed at bringing together researchers from the component-oriented design community, researchers working on interface theories, and researchers working in synthesis, in ord...
Article
Full-text available
We describe ongoing work on a framework for automatic composition synthesis from a repository of software components. This work is based on combinatory logic with intersection types. The idea is that components are modeled as typed combinators, and an algorithm for inhabitation {\textemdash} is there a combinatory term e with type tau relative to a...
Conference Paper
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(τ)...
Article
Full-text available
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 simp...
Conference Paper
Full-text available
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 simp...
Conference Paper
Full-text available
It is shown that the inhabitation problem for intersection types without the intersection introduction rule is Expspace-complete and that the further restriction without subtyping is Pspace-complete.
Conference Paper
Full-text available
Combinatory logic is based on modus ponens and a schematic (polymorphic) interpretation of axioms. In this paper we propose to consider expressive combinatory logics under the restriction that axioms are not interpreted schematically but ,,literally”, corresponding to a monomorphic interpretation of types. We thereby arrive at finite combinatory lo...
Article
Full-text available
We present a novel approach to computing the context-sensitive flow of values through procedures and data structures. Our approach combines and extends techniques from two seemingly disparate areas: polymorphic subtyping and interprocedural dataflow analysis based on context-free language reachability. The resulting technique offers several advanta...
Article
Full-text available
We propose a technique to avoid deadlocks in a system of communicating processes. Our network model is very general. It supports dynamic process and channel creation and the ability to send channel endpoints over channels, thereby allowing arbitrary dynamically configured networks. Deadlocks happen in such networks if there is a cycle created by a...
Conference Paper
Full-text available
The interaction among concurrently executing threads of a program results in insidious programming errors that are difficult to reproduce and fix. Unfortunately, the problem of verifying a concurrent boolean program is undecidable (24). In this paper, we prove that the problem is decidable, even in the presence of unbounded parallelism, if the anal...
Conference Paper
Full-text available
We have implemented a contract checker for asynchronous, message-passing applications to check that service implementations conform to behavioural contracts. Our contract checker is based on a process algebraic theory of conformance and is implemented on top of a software model checker, Zing. The purpose of this paper is to explain the model constr...
Conference Paper
Full-text available
Model checking is a technique for finding bugs in systems by systematically exploring their state spaces. We wish to extract sound models from concurrent programs automatically and check the behaviors of these models systematically. The zing project is an effort to build a flexible infrastructure to represent and model check abstractions of large c...
Conference Paper
Full-text available
The zing project is an effort to build a flexible and scalable model checking infrastructure for concurrent software. The project is divided into four components: (1) a modeling language for expressing concurrent models of software systems, (2) a compiler for translating a zing model into an executable representation of its transition relation, (3)...
Article
Full-text available
The ability to summarize procedures is fundamental to building scalable interprocedural analyses. For sequential programs, procedure summarization is well-understood and used routinely in a variety of compiler optimizations and software defect-detection tools. However, the benefit of summarization is not available to multithreaded programs, for whi...
Conference Paper
Full-text available
We propose a notion of conformance between a specifica- tion S and an implementation modelI extracted from a message-passing program. In our framework, S and I are CCS processes, which soundly abstract the externallyvisible communication behavior of a message- passing program. We use the extracted models to check that programs do not get stuck, wai...
Article
ion and composition are the fundamental issues in making model checking viable for software. This paper proposes new techniques for automating abstraction and decomposition using source level type information provided by the programmer. Our system includes two novel components to achieve this end: (1) a behavioral type-and-effect system for the π-c...
Article
Full-text available
Abstraction and composition are the fundamental issues in making model checking viable for software. This paper proposes new techniques for automating abstraction and decomposition using source level type information provided by the programmer. Our system includes two novel components to achieve this end: (1) a new behavioral type-and-effect system...
Conference Paper
Full-text available
Distributed message-passing based asynchronous systems are becoming increasingly important. Such systems are notoriously hard to design and test. A promising approach to help programmers design such programs is to provide a behavioral type system that checks for behavioral properties such as deadlock freedom using a combination of type inference an...
Conference Paper
Full-text available
This paper addresses the following question: Do scalable control-flow-insensitive pointer analyses provide the level of precision required to make them useful in compiler optimizations? We first describe alias frequency, a metric that measures the ability of a pointer analysis to determine that pairs of memory accesses in C programs cannot be alias...
Conference Paper
Full-text available
We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subytping with instantiation constraints, we are able to apply context-free language (CFL) reachability techniques to type-based flow analysis. We develop a CFL-based algorithm for computing flow-inf...
Article
We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subytping with instantiation constraints, we are able to apply context-free language (CFL) reachability techniques to type-based flow analysis. We develop a CFL-based algorithm for computing flow-inf...
Article
Full-text available
We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subtyping with instantiation constraints, we are able to apply context-free language (CFL) reachability techniques to type-based flow analysis. We develop a CFL-based algorithm for computing flow inf...
Article
Full-text available
This paper shows that a type graph (obtained via polymorphic type inference) harbors explicit directional flow paths between functions. These flow paths arise from the instantiations of polymorphic types and correspond to call-return sequences in first-order programs. We show that flow information can be computed efficiently while considering only...
Conference Paper
Full-text available
This paper shows that a type graph (obtained via polymorphic type inference) harbors explicit directional flow paths between functions. These flow paths arise from the instantiations of polymorphic types and correspond to call-return sequences in first-order programs. We show that flow information can be computed efficiently while considering only...
Article
We present a novel approach to computing context-sensitive flow of values through procedures and data structures. Our approach combines and extends techniques from two seemingly disparate areas: polymorphic subtyping and interprocedural dataflow analysis based on context-free language reachability. The resulting technique offers several advantages...
Article
Full-text available
Java source code is strongly typed, but the translation from Java source to bytecode omits much of the type information originally contained within methods. Type elaboration is a technique for reconstructing strongly typed programs from incompletely typed bytecode by inferring types for local variables. There are situations where, technically, ther...
Article
Full-text available
We study entailment of structural and nonstructural recursive subtyping constraints. Constraints are formal inequalities between type expressions, interpreted over an ordered set of possibly infinite labeled trees. The nonstructural ordering on trees is the one introduced by Amadio and Cardelli for subtyping with recursive types. The structural ord...
Article
. We introduce the notion of definite inequality constraints involving monotone functions in a finite meet-semilattice, generalizing the logical notion of Horn-clauses, and we give a linear time algorithm for deciding satisfiability. We characterize the expressiveness of the framework of definite constraints and show that the algorithm uniformly so...
Article
Full-text available
We describe a new method for polymorphic type inference for the dynamically typed language Scheme. The method infers both types and explicit run-time type operations (coercions) for a given program. It can be used to statically debug Scheme programs and to give a high-level translation to ML, in essence providing an "embedding" of Scheme into ML. O...
Conference Paper
Full-text available
A subtyping τ⩽τ' is entailed by a set of subtyping constraints C, written C |=τ⩽τ', if every valuation (mapping of type variables to ground types) that satisfies C also satisfies τ⩽τ'. We study the complexity of subtype entailment for simple types over lattices of base types. We show that: deciding C |=τ⩽τ' is coNP-complete; decidin...
Article
Full-text available
This paper studies the problem of simplifying typings and the size-complexity of most general typings in typed programming languages with atomic subtyping. We define a notion of minimal typings relating all typings which are equivalent with respect to instantiation. The notion of instance is that of Fuh and Mishra [13], which supports many interest...
Article
We show that the standard method of saturated sets for proving strong normalization of β-reduction in the simply typed and second-order polymorphic lambda calculus incorporates non-structural subtyping systems in a natural way. This shows that strong normalization for non-structural subtyping proved by Wand, O'Keefe and Palsberg (1995) via coercion...
Conference Paper
We present a novel refinement relation (stuck-free conformance) for CCS processes, which satisfies the substitutability property: If I conforms to S, and P is any environment such that P | S is stuck-free, then P | I is stuck-free. Stuck-freedom is related to the CSP notion of deadlock, but it is more discriminative by taking orphan messages in asy...
Conference Paper
By restriction of Felleisen's control operator F we obtain an operator and a fully compatible, Church-Rosser control calculus enjoying a number of desirable properties. It is shown that contains a strongly normalizing typed subcalculus with a reduction corresponding closely to systems of proof normalization for classical logic. The calculus is mo...
Article
We present a novel refinement relation (stuck-free conformance) for CCS processes, which satisfies the substitutability property: If an implementation I conforms to a specification S, then C[S] stuck-free implies C[I] stuck-free, on any selected names ~a and for all CCS contexts C. Stuck-freedom is related to the CSP notion of deadlock, but it is m...