VLDB 2026 Research / reviewers in the wild / expert
Jesper Jørgensen
dblp:61/1841
· DBLP profile ↗
5ranked-venue papers
1as first author
0since 2021 · last 2004
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
2 papers |
Programming languages and type systems · 50% Compilers and program optimization · 42% Requirements engineering and software design · 7% |
Topics — the 7 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
type systems |
0.0 | 1 | 1994 | Formally Optimal Boxing · POPL 1994 |
Compilers and program optimization › compiler construction
compiler generation |
0.0 | 1 | 1992 | Generating a Compiler for a Lazy Language by Partial Evaluation · POPL 1992 |
Programming languages and type systems › functional language
lazy functional languages |
0.0 | 1 | 1992 | Generating a Compiler for a Lazy Language by Partial Evaluation · POPL 1992 |
Compilers and program optimization
partial evaluation |
0.0 | 1 | 1992 | Generating a Compiler for a Lazy Language by Partial Evaluation · POPL 1992 |
Requirements engineering and software design › formal specification
equational axiomatization |
0.0 | 1 | 1994 | Formally Optimal Boxing · POPL 1994 |
Programming languages and type systems
language semantics |
0.0 | 1 | 1994 | Formally Optimal Boxing · POPL 1994 |
Compilers and program optimization › partial evaluation
binding-time analysis |
0.0 | 1 | 1992 | Generating a Compiler for a Lazy Language by Partial Evaluation · POPL 1992 |
Methods — techniques the papers use, named apart from their topics
term rewriting · 0.0partial evaluation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2004 | Offline specialisation in Prolog using a hand-written compiler generatorabstractThe so called “cogen approach” to program specialisation, writing a compiler generator instead of a specialiser, has been used with considerable success in partial evaluation of both functional and imperative languages. This paper demonstrates that the cogen approach is also applicable to the specialisation of logic programs (called partial deduction) and leads to effective specialisers. Moreover, using good binding-time annotations, the speed-ups of the specialised programs are comparable to the speed-ups obtained with online specialisers. The paper first develops a generic approach to offline partial deduction and then a specific offline partial deduction method, leading to the offline system LIX for pure logic programs. While this is a usable specialiser by itself, it is used to develop the cogen system LOGEN. Given a program, a specification of what inputs will be static, and an annotation specifying which calls should be unfolded, LOGEN generates a specialised specialiser for the program at hand. Running this specialiser with particular values for the static inputs results in the specialised program. While this requires two steps instead of one, the efficiency of the specialisation process is improved in situations where the same program is specialised multiple times. The paper also presents and evaluates an automatic binding-time analysis that is able to derive the annotations. While the derived annotations are still suboptimal compared to hand-crafted ones, they enable non-expert users to use the LOGEN system in a fully automated way. Finally, LOGEN is extended so as to directly support a large part of Prolog's declarative and non-declarative features and so as to be able to perform so called mixline specialisations. Michael Leuschel, Jesper Jørgensen, Wim Vanhoof, Maurice Bruynooghe |
Theory Pract. Log. Program. | 2 |
| 1994 | Formally Optimal BoxingabstractAn important implementation decision in polymorphically typed functional programming language is whether to represent data in boxed or unboxed form and when to transform them from one representation to the other. Using a language with explicit representation types and boxing/unboxing operations we axiomatize equationally the set of all explicitly boxed versions, called completions, of a given source program. In a two-stage process we give some of the equations a rewriting interpretation that captures eliminating boxing/unboxing operations without relying on a specific implementation or even semantics of the underlying language. The resulting reduction systems operate on congruence classes of completions defined by the remaining equations E, which can be understood as moving boxing/unboxing operations along data flow paths in the source program. We call a completion eopt formally optimal if every other completion for the same program (and at the same representation type) reduces to eopt under this two-stage reduction. Fritz Henglein, Jesper Jørgensen |
POPL | 2 |
| 1994 | Generating Transformers for Deforestation and Supercompilation
Robert Glück, Jesper Jørgensen |
SAS | 2 |
| 1993 | Efficient Analysis for Realistic Off-Line Partial EvaluationabstractAbstract Based on Henglein's efficient binding-time analysis for the lambda calculus (with constants and ‘fix’) (Henglein, 1991), we develop three efficient analyses for use in the preprocessing phase of Similix, a self-applicable partial evaluator for a higher-order subset of Scheme. The analyses developed in this paper are almost-linear in the size of the analysed program. (1) A flow analysis determines possible value flow between lambda-abstractions and function applications and between constructor applications and selector/predicate applications. The flow analysis is not particularly biased towards partial evaluation; the analysis corresponds to the closure analysis of Bondorf (1991b). (2) A (monovariant) binding-time analysis distinguishes static from dynamic values; the analysis treats both higher-order functions and partially static data structures. (3) A new is-used analysis , not present in Bondorf (1991b), finds a non-minimal binding-time annotation which is ‘safe’ in a certain way: a first-order value may only become static if its result is ‘needed’ during specialization; this ‘poor man's generalization’ (Holst, 1988) increases termination of specialization. The three analyses are performed sequentially in the above mentioned order since each depends on results from the previous analyses. The input to all three analyses are constraint sets generated from the program being analysed. The constraints are solved efficiently by a normalizing union/find-based algorithm in almost-linear time. Whenever possible, the constraint sets are partitioned into subsets which are solved in a specific order; this simplifies constraint normalization. The framework elegantly allows expressing both forwards and backwards components of analyses. In particular, the new is-used analysis is of backwards nature. The three constraint normalization algorithms are proved correct (soundness, completeness, termination, existence of a best solution). The analyses have been implemented and integrated in the Similix system. The new analyses are indeed much more efficient than those of Bondorf (1991b); the almost-linear complexity of the new analyses is confirmed by the implementation. Anders Bondorf, Jesper Jørgensen |
J. Funct. Program. | 2 |
| 1992 | Generating a Compiler for a Lazy Language by Partial EvaluationabstractCompiler generation is often emphasized as being the most important application of partial evaluation. But most of the larger practical applications have, to the best of our knowledge, been outside this field. Expecially, no one has generated compilers for languages other than small languages. This paper describes a large application of partial evaluation where a realistic compiler was generated for a strongly typed lazy functional language. The language, that was called BAWL, was modeled after the language in Bird and Wadler [BW88] and is a combinator language with pattern matching, guarded alternatives, local definitions and list comprehensions. The paper describes the most important techniques used, especially the binding time improvements needed in order to get small and efficient target programs. Finally, the performance of the compiler is compared with two compilers for similar languages: Miranda and LML. Jesper Jørgensen |
POPL | 1 |