Mathieu Verbaere

dblp:50/1116 · DBLP profile ↗
← Back
7ranked-venue papers
2as first author
0since 2021 · last 2009
—ORCID · none

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

Software engineering, systems software and programming languages · 6 · 2 first-authorDatabases, data management, data science and information retrieval · 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
3 papers
Programming languages and type systems · 74% Software maintenance and evolution · 16% Program analysis · 10%
Databases, data mining, and information retrieval
1 paper
Data models and query languages · 100%

Topics — the 8 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data models and query languages › datalog
datalog query optimization
0.112008
Type inference for datalog and its application to query optimisation · PODS 2008
Programming languages and type systems
type inference
0.112008
Type inference for datalog and its application to query optimisation · PODS 2008
Programming languages and type systems
aspect-oriented programming
0.112007
Semantics of static pointcuts in aspectJ · POPL 2007
Programming languages and type systems
language semantics
0.112007
Semantics of static pointcuts in aspectJ · POPL 2007
Programming languages and type systems
domain-specific languages
0.112006
JunGL: a scripting language for refactoring · ICSE 2006
Software maintenance and evolution
refactoring
0.112006
JunGL: a scripting language for refactoring · ICSE 2006
Program analysis › program representation
program graph
0.012006
JunGL: a scripting language for refactoring · ICSE 2006
Program analysis
program representation
0.012006
JunGL: a scripting language for refactoring · ICSE 2006

Methods — techniques the papers use, named apart from their topics

type system design · 0.2soundness proof · 0.2optimality proof · 0.2stratego · 0.1datalog · 0.1codequest · 0.1path queries · 0.1logic query language · 0.1functional language · 0.1demand-driven evaluation · 0.1
YearPublicationVenuePosition
2009 Stepping Stones over the Refactoring Rubicon
Max Schäfer, Mathieu Verbaere, Torbjörn Ekman 0001, Oege de Moor
ECOOP2
2008 Query Technologies and Applications for Program Comprehension (QTAPC 2008)
abstract
Industrial software systems are large and complex, both in terms of the software entities and their relationships. Consequently, understanding how a software system works requires the ability to pose queries over the design-level entities of the system. Traditionally, this task has been supported by simple tools (e.g., grep) combined with the programmer's intuition and experience. Recently, however, specialized code query technologies have matured to the point where they can be used in industrial situations, providing more intelligent, timely, and efficient responses to developer queries. This working session aims to explore the state of the art in code query technologies, and discover new ways in which these technologies may be useful in program comprehension. The session brings together researchers and practitioners. We survey existing techniques and applications, trying to understand the strengths and weaknesses of the various approaches, and sketch out new frontiers that hold promise.
Mathieu Verbaere, Michael W. Godfrey, Tudor Gîrba
ICPC1
2008 Type inference for datalog and its application to query optimisation
abstract
Certain 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
PODS4
2007 Object-oriented queries over software systems: (abstract of invited talk)
abstract
Code queries are useful for enforcing coding conventions, navigating a large code base, and for identifying locations to refactor. The program understanding community has long advocated the use of a relational database to facilitate such code queries [3, 9]. While the idea has found some uptake in industry [2, 11], relational queries over code have not yet found widespread use.
Oege de Moor, Elnar Hajiyev, Mathieu Verbaere
PEPM3
2007 Semantics of static pointcuts in aspectJ
abstract
In 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
POPL7
2006 codeQuest: Scalable Source Code Queries with Datalog
Elnar Hajiyev, Mathieu Verbaere, Oege de Moor
ECOOP2
2006 JunGL: a scripting language for refactoring
abstract
Refactorings are behaviour-preserving program transformations, typically for improving the structure of existing code. A few of these transformations have been mechanised in interactive development environments. Many more refactorings have been proposed, and it would be desirable for programmers to script their own refactorings. Implementing such source-to-source transformations, however, is quite complex: even the most sophisticated development environments contain significant bugs in their refactoring tools.We present a domain-specific language for refactoring, named JunGL. It manipulates a graph representation of the program: all information about the program, including ASTs for its compilation units, variable binding, control flow and so on is represented in a uniform graph format. The language is a hybrid of a functional language (in the style of ML) and a logic query language (akin to Datalog). JunGL furthermore has a notion of demand-driven evaluation for constructing computed information in the graph, such as control flow edges. Borrowing from earlier work on the specification of compiler optimisations, JunGL uses so-called `path queries' to express dataflow properties.We motivate the design of JunGL via a number of non-trivial refactorings, and describe its implementation on the.NET platform.
Mathieu Verbaere, Ran Ettinger, Oege de Moor
ICSE1