VLDB 2026 Research / reviewers in the wild / expert
Julian Tibble
dblp:14/5257
· DBLP profile ↗
8ranked-venue papers
0as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7Theory 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 · 40% Empirical software engineering · 25% Program analysis · 18% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Empirical software engineering
mining software repositories |
0.2 | 1 | 2015 | Tracking Static Analysis Violations over Time to Capture Developer Characteristics · ICSE (1) 2015 |
Programming languages and type systems
aspect-oriented programming |
0.2 | 4 | 2007 | Semantics of static pointcuts in aspectJ · POPL 2007 Optimising aspectJ · PLDI 2005 Adding trace matching with free variables to AspectJ · OOPSLA 2005 |
Programming languages and type systems
language semantics |
0.1 | 1 | 2007 | Semantics of static pointcuts in aspectJ · POPL 2007 |
Program analysis › dynamic analysis
runtime monitoring |
0.1 | 1 | 2007 | Making trace monitors feasible · OOPSLA 2007 |
Program verification › dynamic verification
runtime verification |
0.1 | 1 | 2007 | Making trace monitors feasible · OOPSLA 2007 |
Program verification › temporal logic
temporal logic specification |
0.1 | 1 | 2007 | Making trace monitors feasible · OOPSLA 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 |
Program analysis
static analysis |
0.1 | 1 | 2015 | Tracking Static Analysis Violations over Time to Capture Developer Characteristics · ICSE (1) 2015 |
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
revision history analysis · 0.2temporal logic · 0.1stratego · 0.1datalog · 0.1codequest · 0.1regular pattern matching · 0.1free variables · 0.1compiler optimization · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Tracking Static Analysis Violations over Time to Capture Developer CharacteristicsabstractMany interesting questions about the software quality of a code base can only be answered adequately if fine-grained information about the evolution of quality metrics over time and the contributions of individual developers is known. We present an approach for tracking static analysis violations (which are often indicative of defects) over the revision history of a program, and for precisely attributing the introduction and elimination of these violations to individual developers. As one application, we demonstrate how this information can be used to compute ``fingerprints'' of developers that reflect which kinds of violations they tend to introduce or to fix. We have performed an experimental study on several large open-source projects written in different languages, providing evidence that these fingerprints are well-defined and capture characteristic information about the coding habits of individual developers. Pavel Avgustinov, Arthur I. Baars, Anders Starcke Henriksen, R. Greg Lavender, Galen Menzel, Oege de Moor, Max Schäfer, Julian Tibble |
ICSE (1) | 8 |
| 2007 | Making trace monitors feasibleabstractA trace monitor observes an execution trace at runtime; when it recognises a specified sequence of events, the monitor runs extra code. In the aspect-oriented programming community, the idea originatedas a generalisation of the advice-trigger mechanism: instead of matchingon single events (joinpoints), one matches on a sequence of events. The runtime verification community has been investigating similar mechanisms for a number of years, specifying the event patterns in terms of temporal logic, and applying the monitors to hardware and software. Pavel Avgustinov, Julian Tibble, Oege de Moor |
OOPSLA | 2 |
| 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 | 6 |
| 2007 | On the Semantics of Matching Trace Monitoring Patterns
Pavel Avgustinov, Julian Tibble, Oege de Moor |
RV | 2 |
| 2006 | Aspects and Data Refinement
Pavel Avgustinov, Eric Bodden, Elnar Hajiyev, Oege de Moor, Neil Ongkingco, Damien Sereni, Ganesh Sittampalam, Julian Tibble |
MPC | 8 |
| 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 | 11 |
| 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 | 10 |
| 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 | 10 |