Demo Data from SIGIR 2026 / reviewers in the wild / expert
Denis Hirn
dblp:238/4353
· DBLP profile ↗
10ranked-venue papers
4as first author
7since 2021 · last 2024
0000-0001-7040-1780ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Databases, data management, data science and information retrieval · 9 · 4 first-author · 6 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021
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.
| Databases, data mining, and information retrieval
6 papers |
Query processing and optimization · 66% Data models and query languages · 21% Database system architecture and tuning · 13% | |
| Software engineering, system software, and programming languages
4 papers |
Compilers and program optimization · 50% Empirical software engineering · 41% Programming languages and type systems · 9% |
Topics — the 6 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Query processing and optimization
query compilation |
1.3 | 2 | 2024 | SQL Engines Excel at the Execution of Imperative Programs · Proc. VLDB Endow. 2024 Snakes on a Plan: Compiling Python Functions into Plain SQL Queries · SIGMOD Conference 2022 |
Compilers and program optimization › program transformation
source-to-source transformation |
0.9 | 2 | 2021 | One WITH RECURSIVE is Worth Many GOTOs · SIGMOD Conference 2021 PL/SQL Without the PL · SIGMOD Conference 2020 |
Query processing and optimization
user-defined functions |
0.8 | 1 | 2024 | SQL Engines Excel at the Execution of Imperative Programs · Proc. VLDB Endow. 2024 |
Empirical software engineering
reproducibility |
0.8 | 1 | 2024 | A Reproducible Tutorial on Reproducibility in Database Systems Research · Proc. VLDB Endow. 2024 |
Query processing and optimization › query execution
user-defined function execution |
0.3 | 2 | 2021 | One WITH RECURSIVE is Worth Many GOTOs · SIGMOD Conference 2021 PL/SQL Without the PL · SIGMOD Conference 2020 |
Programming languages and type systems › interoperability
language interoperability |
0.2 | 1 | 2022 | Snakes on a Plan: Compiling Python Functions into Plain SQL Queries · SIGMOD Conference 2022 |
Methods — techniques the papers use, named apart from their topics
docker · 1.5containerization · 1.5artifact packaging · 1.5recursive SQL:1999 · 1.1control-flow translation · 1.1trampolined style · 1.0decorrelation · 0.8compilation strategy · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Dear User-Defined Functions, Inlining isn't working out so great for us. Let's try batching to make our relationship work. Sincerely, SQL
Kai Franz, Samuel Arch, Denis Hirn, Torsten Grust, Todd C. Mowry, Andrew Pavlo |
CIDR | 3 |
| 2024 | SQL Engines Excel at the Execution of Imperative ProgramsabstractSQL query engines can act as efficient runtime environments for the execution of imperative programs over database-resident tabular data. To make this point, we lay out the details of a compilation strategy that maps the basic blocks of arbitrarily branching and looping control flow graphs into plain---possibly recursive---SQL:1999 common table expressions. The compiler does not stumble when faced with imperative programs of several hundred lines and emits SQL code that can execute such programs over entire batches of input arguments. These batches create opportunities for parallel program evaluation which contemporary query decorrelation techniques exploit automatically. SQL engines that already support UDFs may find the present program execution approach to outperform their native implementation---SQL engines without such support may gain UDF capabilities without the need to build a dedicated interpreter. Tim Fischer 0003, Denis Hirn, Torsten Grust |
Proc. VLDB Endow. | 2 |
| 2024 | A Reproducible Tutorial on Reproducibility in Database Systems ResearchabstractReproducibility is a key aspect of the scientific method, and it is essential for building trust in the results of research. This tutorial aims to provide concrete guidance on how to leverage containerized reproducibility using Docker for database systems research. In this tutorial, we present a step-by-step guide on how to prepare a Docker-based artifact for an experiment. We will cover topics such as Dockerfiles, Docker images, Docker Compose, automation using Python, Bash, and Make, and also artifact documentation and packaging best practices. The tutorial itself is a reproducible artifact, and we provide a public GitHub repository with all the code and examples used in the tutorial. This repository can serve as a starting point to prepare artifacts for experiments and publications. Tim Fischer 0003, Denis Hirn, Gökhan Kul |
Proc. VLDB Endow. | 2 |
| 2023 | A Fix for the Fixation on Fixpoints
Denis Hirn, Torsten Grust |
CIDR | 1 |
| 2022 | Functional Programming on Top of SQL Engines
Tobias Burghardt, Denis Hirn, Torsten Grust |
PADL | 2 |
| 2022 | Snakes on a Plan: Compiling Python Functions into Plain SQL Queriesabstract"Move your computation close to the data" is decades-old advice that is hard to follow if your code exhibits complex control flow. The runtime of such applications suffers from a continual back and forth between database-external code execution and plan-based SQL evaluation. We demonstrate the ByePy compiler which translates entire Python functions with arbitrary control flow-including deeply nested iteration-into plain recursive SQL:1999 queries. The invocation of a ByePy-compiled function enters the database engine once to execute the plan of a single query. Computation does not get much closer to the data than this. The system rewards this translation effort from Python to SQL with runtime improvements of up to an order of magnitude. Tim Fischer 0003, Denis Hirn, Torsten Grust |
SIGMOD Conference | 2 |
| 2021 | One WITH RECURSIVE is Worth Many GOTOsabstractPL/SQL integrates an imperative statement-by-statement style of programming with the plan-based evaluation of SQL queries. The disparity of both leads to friction at runtime, slowing PL/SQL execution down significantly. This work describes a compiler from PL/SQL UDFs to plain SQL queries. Post-compilation, evaluation entirely happens on the SQL side of the fence. With the friction gone, we observe execution times to improve by about a factor of 2, even for complex UDFs. The compiler builds on techniques long established by the programming language community. In particular, it uses trampolined style to compile arbitrarily nested iterative control flow in PL/SQL into SQL's recursive common table expressions. Denis Hirn, Torsten Grust |
SIGMOD Conference | 1 |
| 2020 | Compiling PL/SQL Away
Christian Duta, Denis Hirn, Torsten Grust |
CIDR | 2 |
| 2020 | PL/SQL Without the PLabstractWe demonstrate a source-to-source compilation technique that can translate user-defined PL/SQL functions into plain SQL queries. These PL/SQL functions may feature arbitrarily complex control flow-iteration, in particular. From this imperative-style input code we derive equivalent recursive common table expressions, ready for execution on any relational SQL:1999 back-end. Principally due to the absence of PL/SQL?SQL context switches, the output plain SQL code comes with substantial runtime savings. The demonstration embeds the compiler into an interactive setup that admits function editing while live re-compilation and visualization of intermediate code forms happens in the background. Denis Hirn, Torsten Grust |
SIGMOD Conference | 1 |
| 2019 | PgCuckoo: Laying Plan Eggs in PostgreSQL's NestabstractWe demonstrate how to use PostgreSQL's planner hook to open a side entrance through which we can pass plan trees for immediate execution. Since this reaches deep into PostgreSQL, we implement plan detail inference and decoration to ensure that externally crafted trees perfectly mimic regular plans. Plan trees may then (1) be generated by external code generators that want to use PostgreSQL as a reliable and efficient back-end for new (maybe even non-relational) languages, or (2) stem from experimental rewrites of SQL plans that PostgreSQL itself does not implement (yet). The demonstration provides a live account of what becomes possible once we let PostgreSQL hatch foreign plan eggs. Denis Hirn, Torsten Grust |
SIGMOD Conference | 1 |