Jakob Rehof

dblp:r/JakobRehof · DBLP profile ↗
← Back
39ranked-venue papers
6as first author
3since 2021 · last 2026
0000-0002-6023-8921ORCID · verified

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

Software engineering, systems software and programming languages · 28 · 5 first-authorTheory of computation · 13 · 1 first-author · 2 since 2021Artificial intelligence and machine learning · 4 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-author
YearPublicationVenuePosition
2026 A Bounded Parallel Intersection Type System
abstract
We introduce a new presentation of the intersection type discipline in which typing judgments derive vectors of types rather than single types. The system uses binary relations to control the flow of information between coordinates of these vectors. We refer to this presentation as system R. The maximal length of type vectors assigned to variables serves as a reasonable notion of dimension for system R, which allows for a natural stratification into fragments of bounded dimension. The present system lies strictly between two known bounded-dimensional systems: the multiset-dimensional system, for which inhabitation is EXPSPACE-complete, and the set-dimensional system, for which inhabitation is undecidable. Our main result is that inhabitation in bounded system R is decidable in 2-EXPTIME, while for each fixed dimension, inhabitation is decidable in EXPTIME. This result is based on a subformula property restricting the inhabitant search space. Unlike in traditional intersection type systems, the proof of the subformula property requires careful treatment of the additional information flow management capabilities. Finally, we argue that system R and its stratification is a valid presentation of the intersection type discipline. First, by proving the subject reduction property for system R in each bounded dimension, and second, by establishing a correspondence with the classical intersection type system of Barendregt, Coppo, and Dezani-Ciancaglini.
Andrej Dudenhefner, Aleksy Schubert, Jakob Rehof
FSCD3
2022 Restricting Tree Grammars with Term Rewriting
Jan Bessai, Lukasz Czajka 0001, Felix Laarmann, Jakob Rehof
FSCD4
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
WAFR4
2019 Undecidability of Intersection Type Inhabitation at Rank 3 and its Formalization
abstract
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 out line a direct reduction from the Turing machine halting problem to intersection type inhabitation. Second, we formalize soundness and completeness of the reduction in the Coq proof assistant under the banner of “type theory inside type theory”.
Andrej Dudenhefner, Jakob Rehof
Fundam. Informaticae2
2019 Principality and approximation under dimensional bound
abstract
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 computable bases of abstract vector spaces (more precisely, semimodules), and it shows a systematic connection of dimensional calculi to the theory of approximants. Finite, computable bases are shown to span standard principal typings of a given term for sufficiently high dimension, thereby providing an approximation to standard principality by type inference, and capturing it precisely for sufficiently large dimensional parameter. Subsidiary results include decidability of principal inhabitation for intersection types (given a type does there exist a normal form for which the type is principal?). Remarkably, combining bounded type inference with principal inhabitation allows us to compute approximate normal forms of arbitrary terms without using beta-reduction.
Andrej Dudenhefner, Jakob Rehof
Proc. ACM Program. Lang.2
2018 A Methodology for Combinatory Process Synthesis: Process Variability in Clinical Pathways
Tristan Schäfer, Frederik Möller, Anja Burmann, Yevgen Pikus, Norbert Weißenberg, Marcus Hintze, Jakob Rehof
ISoLA (4)7
2018 Automatic Composition of Rough Solution Possibilities in the Target Planning of Factory Planning Projects by Means of Combinatory Logic
Jan Winkels, Julian Graefenstein, Tristan Schäfer, David Scholz, Jakob Rehof, Michael Henke 0004
ISoLA (4)5
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.6
2017 Typability in bounded dimension
abstract
Recently (authors, POPL 2017), a notion of dimensionality for intersection types was introduced, and it was shown that the bounded-dimensional inhabitation problem is decidable under a non-idempotent interpretation of intersection and undecidable in the standard set-theoretic model. In this paper we study the typability problem for bounded-dimensional intersection types and prove that the problem is decidable in both models. We establish a number of bounding principles depending on dimension. In particular, it is shown that dimensional bound on derivations gives rise to a bounded width property on types, which is related to a generalized subformula property for typings of arbitrary terms. Using the bounded width property we can construct a nondeterministic transformation of the typability problem to unification, and we prove that typability in the set-theoretic model is PSPACE-complete, whereas it is in NP in the multiset model.
Andrej Dudenhefner, Jakob Rehof
LICS2
2017 Intersection type calculi of bounded dimension
abstract
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.
Andrej Dudenhefner, Jakob Rehof
POPL2
2017 The Algebraic Intersection Type Unification Problem
Andrej Dudenhefner, Moritz Martens, Jakob Rehof
Log. Methods Comput. Sci.3
2016 Combinatory Process Synthesis
Jan Bessai, Andrej Dudenhefner, Boris Düdder, Moritz Martens, Jakob Rehof
ISoLA (1)5
2016 ModSyn-PP: Modular Synthesis of Programs and Processes Track Introduction
Boris Düdder, George T. Heineman, Jakob Rehof
ISoLA (1)3
2016 A Long and Winding Road Towards Modular Synthesis
George T. Heineman, Jan Bessai, Boris Düdder, Jakob Rehof
ISoLA (1)4
2015 Synthesizing type-safe compositions in feature oriented software designs using staged composition
abstract
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 fragments of documents of any kind to a product that fulfills users' requirements expressed by a feature selection. These modules often include code modules of typed programming languages whereas the proposed algebraic formalism is agnostic to types. This situation can lead to product code which is not type correct. In addition, types can carry semantic information on a program or module. We present a type system and connect it to an algebraic formalism thereby allowing automatic synthesis of feature compositions yielding well-typed programs.
Boris Düdder, Jakob Rehof, George T. Heineman
SPLC2
2015 Towards migrating object-oriented frameworks to enable synthesis of product line members
abstract
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.
George T. Heineman, Armend Hoxha, Boris Düdder, Jakob Rehof
SPLC4
2015 Modular synthesis of product lines (ModSyn-PL)
abstract
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 member applications and the requirement to configure an application by its desired features. We seek mechanisms and theories to reduce the manual effort in writing the software. This workshop focuses on a broad range of approaches that increase the amount of synthesized code in both the shared code assets of the product line as well as individual member applications. We are especially interested in modular approaches that provide a theory of composition for assembling together modular units (such as classes, mixins, combinators, aspects, and modules).
Jakob Rehof, George T. Heineman
SPLC1
2014 Staged Composition Synthesis
Boris Düdder, Moritz Martens, Jakob Rehof
ESOP3
2014 Combinatory Logic Synthesizer
Jan Bessai, Andrej Dudenhefner, Boris Düdder, Moritz Martens, Jakob Rehof
ISoLA (1)5
2008 Type-based flow analysis and context-free language reachability
abstract
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 advantages over previous approaches: it works directly on higher-order programs; provides demand-driven interprocedural queries; and improves the asymptotic complexity of a known algorithm based on polymorphic subtyping fromO(n8) toO(n3) for computing all queries. For intra-procedural flow restricted to equivalence classes, our algorithm yields linear inter-procedural flow queries.
Manuel Fähndrich, Jakob Rehof
Math. Struct. Comput. Sci.2
2005 Context-Bounded Model Checking of Concurrent Software
Shaz Qadeer, Jakob Rehof
TACAS2
2004 Zing: A Model Checker for Concurrent Software
Tony Andrews, Shaz Qadeer, Sriram K. Rajamani, Jakob Rehof, Yichen Xie 0001
CAV4
2004 Stuck-Free Conformance
Cédric Fournet, Tony Hoare, Sriram K. Rajamani, Jakob Rehof
CAV4
2004 Models for Contract Conformance
Sriram K. Rajamani, Jakob Rehof
ISoLA2
2004 Summarizing procedures in concurrent programs
abstract
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 which a clear notion of summaries has so far remained unarticulated in the research literature.In this paper, we present an intuitive and novel notion of procedure summaries for multithreaded programs. We also present a model checking algorithm for these programs that uses procedure summarization as an essential component. Our algorithm can also be viewed as a precise interprocedural dataflow analysis for multithreaded programs. Our method for procedure summarization is based on the insight that in well-synchronized programs, any computation of a thread can be viewed as a sequence of transactions, each of which appears to execute atomically to other threads. We summarize within each transaction; the summary of a procedure comprises the summaries of all transactions within the procedure. We leverage the theory of reduction [17] to infer boundaries of these transactions.The procedure summaries computed by our algorithm allow reuse of analysis results across different call sites in a multithreaded program, a benefit that has hitherto been available only to sequential programs. Although our algorithm is not guaranteed to terminate on multithreaded programs that use recursion (reachability analysis for multithreaded programs with recursive procedures is undecidable [18]), there is a large class of programs for which our algorithm does terminate. We give a formal characterization of this class, which includes programs that use shared variables, synchronization, and recursion.
Shaz Qadeer, Sriram K. Rajamani, Jakob Rehof
POPL3
2002 Conformance Checking for Models of Asynchronous Message Passing Software
Sriram K. Rajamani, Jakob Rehof
CAV2
2002 Types as models: model checking message-passing programs
abstract
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 behavioral type-and-effect system for the π-calculus, which extracts sound models as types, and (2) an assume-guarantee proof rule for carrying out compositional model checking on the types. Open simulation between CCS processes is used as both the subtyping relation in the type system and the abstraction relation for compositional model checking.We have implemented these ideas in a tool---PIPER. PIPER exploits type signatures provided by the programmer to partition the model checking problem, and emit model checking obligations that are discharged using the SPIN model checker. We present the details on applying PIPER on two examples: (1) the SIS standard for managing trouble tickets across multiple organizations and (2) a file reader from the pipelined implementation of a web server.
Sagar Chaki, Sriram K. Rajamani, Jakob Rehof
POPL3
2001 Type-base flow analysis: from polymorphic subtyping to CFL-reachability
abstract
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-information in time O(n³), where n is the size of the typed program. The algorithm substantially improves upon the best previously known algorithm for flow analysis based on polymorphic subtyping with complexity O(n8). Our technique also yields the first demand-driven algorithm for polymorphic subtype-based flow-computation. It works directly on higher-order programs with structured data of finite type (unbounded data structures are incorporated via finite approximations), supports context-sensitive, global flow summariztion and includes polymorphic recursion.
Jakob Rehof, Manuel Fähndrich
POPL1
2001 Estimating the Impact of Scalable Pointer Analysis on Optimization
Manuvir Das, Ben Liblit, Manuel Fähndrich, Jakob Rehof
SAS4
2001 A Behavioral Module System for the Pi-Calculus
Sriram K. Rajamani, Jakob Rehof
SAS2
2001 Type elaboration and subtype completion for Java bytecode
abstract
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, there are not enough types in the original type hierarchy to type a bytecode program. Subtype completion is a technique for adding necessary types to an arbitrary type hierarchy to make type elaboration possible for all verifiable Java bytecode. Type elaboration with subtype completion has been implemented as part of the Marmot Java compiler.
Todd B. Knoblock, Jakob Rehof
ACM Trans. Program. Lang. Syst.2
2000 Scalable context-sensitive flow analysis using instantiation constraints
abstract
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 paths with well matched call-return sequences, even in the higher-order case. Furthermore, we present a practical algorithm for inferring type instantiation graphs and provide empirical evidence to the scalability of the presented techniques by applying them in the context of points-to analysis for C programs.
Manuel Fähndrich, Jakob Rehof, Manuvir Das
PLDI2
2000 Type Elaboration and Subtype Completion for Java Bytecode
abstract
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.
Todd B. Knoblock, Jakob Rehof
POPL2
1999 Tractable Constraints in Finite Semilattices
Jakob Rehof, Torben Æ. Mogensen
Sci. Comput. Program.1
1998 Constraint Automata and the Complexity of Recursive Subtype Entailment
Fritz Henglein, Jakob Rehof
ICALP2
1997 The Complexity of Subtype Entailment for Simple Types
abstract
A subtyping /spl tau//spl les//spl tau/' is entailed by a set of subtyping constraints C, written C |=/spl tau//spl les//spl tau/', if every valuation (mapping of type variables to ground types) that satisfies C also satisfies /spl tau//spl les//spl tau/'. We study the complexity of subtype entailment for simple types over lattices of base types. We show that: deciding C |=/spl tau//spl les//spl tau/' is coNP-complete; deciding C |=/spl alpha//spl les//spl beta/ for consistent, atomic C and /spl alpha/, /spl beta/ atomic can be done in linear time. The structural lower (coNP-hardness) and upper (membership in coNP) bounds as well as the optimal algorithm for atomic entailment are new. The coNP-hardness result indicates that entailment is strictly harder than satisfiability, which is known to be in PTIME for lattices of base types. The proof of coNP-completeness gives an improved algorithm for deciding entailment and puts a precise complexity-theoretic marker on the intuitive "exponential explosion" in the algorithm. Central to our results is a novel characterization of C |=/spl alpha//spl les//spl beta/ for atomic, consistent C. This is the basis for correctness of the linear-time algorithm as well as a complete axiomatization of C |=/spl alpha//spl les//spl beta/ for atomic C by extending the usual proof rules for subtype inference. It also incorporates the fundamental insight for understanding the structural complexity bounds in the general case.
Fritz Henglein, Jakob Rehof
LICS2
1997 Minimal Typings in Atomic Subtyping
abstract
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 interesting simplifications. We prove that every typable term has a unique minimal typing, which is the logically most succinct among all equivalent typings. We study completeness properties, with respect to our notion of minimality, of well-known simplification techniques. Drawing upon these results, we prove a tight exponential lower bound for the worst case dag-size of constraint sets as well as of types in most general typings. To the best of our knowledge, the best previously proven lower bound was linear. 1 Introduction Subtyping is a fundamental idea in type systems for programming languages, which can in principle be integrated into standar...
Jakob Rehof
POPL1
1996 Tractable Constraints in Finite Semilattices
Jakob Rehof, Torben Æ. Mogensen
SAS1
1996 Strong Normalization for Non-Structural Subtyping via Saturated Sets
Jakob Rehof
Inf. Process. Lett.1