VLDB 2026 Research / reviewers in the wild / expert
Damien Sereni
dblp:07/2585
· DBLP profile ↗
10ranked-venue papers
3as first author
0since 2021 · last 2008
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 2 first-authorDatabases, data management, data science and information retrieval · 2 · 1 first-authorTheory of computation · 1
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
5 papers |
Programming languages and type systems · 84% Program analysis · 16% | |
| Databases, data mining, and information retrieval
2 papers |
Data models and query languages · 100% |
Topics — the 10 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
aspect-oriented programming |
0.2 | 3 | 2007 | Semantics of static pointcuts in aspectJ · POPL 2007 Optimising aspectJ · PLDI 2005 Adding trace matching with free variables to AspectJ · OOPSLA 2005 |
Data models and query languages › datalog
datalog query optimization |
0.2 | 2 | 2008 | Adding magic to an optimising datalog compiler · SIGMOD Conference 2008 Type inference for datalog and its application to query optimisation · PODS 2008 |
Data models and query languages › datalog › datalog query optimization
magic sets |
0.1 | 1 | 2008 | Adding magic to an optimising datalog compiler · SIGMOD Conference 2008 |
Program analysis › binary analysis
bytecode analysis |
0.1 | 1 | 2008 | Efficient local type inference · OOPSLA 2008 |
Programming languages and type systems › type inference
local type inference |
0.1 | 1 | 2008 | Efficient local type inference · OOPSLA 2008 |
Programming languages and type systems
type inference |
0.1 | 1 | 2008 | Type inference for datalog and its application to query optimisation · PODS 2008 |
Programming languages and type systems
language semantics |
0.1 | 1 | 2007 | Semantics of static pointcuts in aspectJ · POPL 2007 |
Programming languages and type systems
language design |
0.1 | 2 | 2005 | Adding trace matching with free variables to AspectJ · OOPSLA 2005 Optimising aspectJ · PLDI 2005 |
Programming languages and type systems › type inference
static type inference |
0.0 | 1 | 2008 | Efficient local type inference · OOPSLA 2008 |
Program analysis › dynamic analysis › trace analysis
trace alignment |
0.0 | 1 | 2005 | Adding trace matching with free variables to AspectJ · OOPSLA 2005 |
Methods — techniques the papers use, named apart from their topics
type system design · 0.2soundness proof · 0.2optimality proof · 0.2data flow analysis · 0.1stratego · 0.1datalog · 0.1codequest · 0.1regular pattern matching · 0.1free variables · 0.1compiler optimization · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2008 | Efficient local type inferenceabstractInference of static types for local variables in Java bytecode is the first step of any serious tool that manipulates bytecode, be it for decompilation, transformation or analysis. It is important, therefore, to perform that step as accurately and efficiently as possible. Previous work has sought to give solutions with good worst-case complexity. Ben Bellamy, Pavel Avgustinov, Oege de Moor, Damien Sereni |
OOPSLA | 4 |
| 2008 | Type inference for datalog and its application to query optimisationabstractCertain variants of object-oriented Datalog can be compiled to Datalog with negation. We seek to apply optimisations akin to virtual method resolution (a well-known technique in compiling Java and other OO languages) to improve efficiency of the resulting Datalog programs. The effectiveness of such optimisations strongly depends on the precision of the underlying type inference algorithm. Previous work on type inference for Datalog has focussed on Cartesian abstractions, where the type of each field is computed separately. Such Cartesian type inference is inherently imprecise in the presence of field equalities. We propose a type system where equalities are tracked, and present a type inference algorithm. The algorithm is proved sound. We also prove that it is optimal for Datalog without negation, in the sense that the inferred type is as tight as possible. Extensive experiments with our type-based optimisations, in a commercial implementation of object-oriented Datalog, confirm the benefits of this non-Cartesian type inference algorithm. Oege de Moor, Damien Sereni, Pavel Avgustinov, Mathieu Verbaere |
PODS | 2 |
| 2008 | Adding magic to an optimising datalog compilerabstractThe magic-sets transformation is a useful technique for dramatically improving the performance of complex queries, but it has been observed that this transformation can also drastically reduce the performance of some queries. Successful implementations of magic in previous work require integration with the database optimiser to make appropriate decisions to guide the transformation (the sideways information passing strategy, or SIPS). Damien Sereni, Pavel Avgustinov, Oege de Moor |
SIGMOD Conference | 1 |
| 2007 | Termination analysis and call graph construction for higher-order functional programsabstractThe analysis and verification of higher-order programs raises the issue of control-flow analysis for higher-order languages. The problem of constructing an accurate call graph for a higher-order program has been the topic of extensive research, and numerous methods for flow analysis, varying in complexity and precision, have been suggested. Damien Sereni |
ICFP | 1 |
| 2007 | Semantics of static pointcuts in aspectJabstractIn aspect-oriented programming, one can intercept events by writing patterns called pointcuts. The pointcut language of the most popular aspect-oriented programming language, AspectJ, allows the expression of highly complex properties of the static program structure.We present the first rigorous semantics of the AspectJ pointcut language, by translating static patterns into safe ( i.e. range-restricted and stratified) Datalog queries. Safe Datalog is a logic language like Prolog, but it does not have data structures; consequently it has a straightforward least fixpoint semantics and all queries terminate.The translation from pointcuts to safe Datalog consists of a set of simple conditional rewrite rules, implemented using the Stratego system. The resulting queries are themselves executable with the CodeQuest system. We present experiments indicating that direct execution of our semantics is not prohibitively expensive. Pavel Avgustinov, Elnar Hajiyev, Neil Ongkingco, Oege de Moor, Damien Sereni, Julian Tibble, Mathieu Verbaere |
POPL | 5 |
| 2006 | Aspects and Data Refinement
Pavel Avgustinov, Eric Bodden, Elnar Hajiyev, Oege de Moor, Neil Ongkingco, Damien Sereni, Ganesh Sittampalam, Julian Tibble |
MPC | 6 |
| 2005 | Termination Analysis of Higher-Order Functional Programs
Damien Sereni, Neil D. Jones |
APLAS | 1 |
| 2005 | abc: The AspectBench Compiler for AspectJ
Chris Allan, Pavel Avgustinov, Aske Simon Christensen, Laurie J. Hendren, Sascha Kuzins, Jennifer Lhoták, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, Julian Tibble |
GPCE | 9 |
| 2005 | Adding trace matching with free variables to AspectJabstractAn aspect observes the execution of a base program; when certain actions occur, the aspect runs some extra code of its own. In the AspectJ language, the observations that an aspect can make are confined to the current action: it is not possible to directly observe the history of a computation.Recently, there have been several interesting proposals for new history-based language features, most notably by Douence et al. and by Walker and Viggers. In this paper, we present a new history-based language feature called tracematches that enables the programmer to trigger the execution of extra code by specifying a regular pattern of events in a computation trace. We have fully designed and implemented tracematches as a seamless extension of AspectJ.A key innovation in our tracematch approach is the introduction of free variables in the matching patterns. This enhancement enables a whole new class of applications in which events can be matched not only by the event kind, but also by the values associated with the free variables. We provide several examples of applications enabled by this feature.After introducing and motivating the idea of tracematches via examples, we present a detailed semantics of our language design, and we derive an implementation from that semantics. The implementation has been realised as an extension of the abc compiler for AspectJ. Chris Allan, Pavel Avgustinov, Aske Simon Christensen, Laurie J. Hendren, Sascha Kuzins, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, Julian Tibble |
OOPSLA | 8 |
| 2005 | Optimising aspectJ
Pavel Avgustinov, Aske Simon Christensen, Laurie J. Hendren, Sascha Kuzins, Jennifer Lhoták, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, Julian Tibble |
PLDI | 8 |