VLDB 2026 Research / reviewers in the wild / expert
Roland Ducournau
dblp:09/4308
· DBLP profile ↗
12ranked-venue papers
8as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 10 · 8 first-authorArtificial intelligence and machine learning · 1Human-computer interaction and ubiquitous computing · 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
4 papers |
Programming languages and type systems · 58% Compilers and program optimization · 38% Requirements engineering and software design · 4% | |
| Artificial intelligence
2 papers |
Knowledge representation and reasoning · 50% Information extraction and text analysis · 25% 3D vision · 25% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Performance modeling and evaluation · 100% |
Topics — the 12 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
method dispatch |
0.2 | 2 | 2009 | Empirical assessment of object-oriented implementations with multiple inheritance and static typing · OOPSLA 2009 Perfect hashing as an almost perfect subtype test · ACM Trans. Program. Lang. Syst. 2008 |
Compilers and program optimization › compiler construction
compilation schemes |
0.1 | 1 | 2009 | Empirical assessment of object-oriented implementations with multiple inheritance and static typing · OOPSLA 2009 |
Compilers and program optimization › compiler toolchain
separate compilation |
0.1 | 1 | 2009 | Empirical assessment of object-oriented implementations with multiple inheritance and static typing · OOPSLA 2009 |
Performance modeling and evaluation
benchmarking |
0.0 | 1 | 2009 | Empirical assessment of object-oriented implementations with multiple inheritance and static typing · OOPSLA 2009 |
Requirements engineering and software design › inconsistency management
conflict resolution |
0.0 | 2 | 1994 | Proposal for a Monotonic Multiple Inheritance Linearization · OOPSLA 1994 Monotonic Conflict Resolution Mechanisms for Inheritance · OOPSLA 1992 |
Programming languages and type systems › object-oriented programming
multiple inheritance |
0.0 | 2 | 1994 | Proposal for a Monotonic Multiple Inheritance Linearization · OOPSLA 1994 Monotonic Conflict Resolution Mechanisms for Inheritance · OOPSLA 1992 |
Natural language and speech › Information extraction and text analysis
ambiguity resolution |
0.0 | 1 | 1994 | On Stein's Paper: Resolving Ambiguity in Nonmonotonic Inheritance Hierarchies · Artif. Intell. 1994 |
Knowledge, reasoning and agents › Knowledge representation and reasoning › ontology › concept hierarchy
inheritance hierarchies |
0.0 | 1 | 1994 | On Stein's Paper: Resolving Ambiguity in Nonmonotonic Inheritance Hierarchies · Artif. Intell. 1994 |
Knowledge, reasoning and agents › Knowledge representation and reasoning
nonmonotonic reasoning |
0.0 | 1 | 1994 | On Stein's Paper: Resolving Ambiguity in Nonmonotonic Inheritance Hierarchies · Artif. Intell. 1994 |
Computer vision › 3D vision
object representation |
0.0 | 1 | 1994 | An object-based representation system for organic synthesis planning · Int. J. Hum. Comput. Stud. 1994 |
Programming languages and type systems
object-oriented programming |
0.0 | 2 | 1994 | Proposal for a Monotonic Multiple Inheritance Linearization · OOPSLA 1994 Monotonic Conflict Resolution Mechanisms for Inheritance · OOPSLA 1992 |
Bioinformatics and computational biology › molecular informatics
cheminformatics |
0.0 | 1 | 1994 | An object-based representation system for organic synthesis planning · Int. J. Hum. Comput. Stud. 1994 |
Methods — techniques the papers use, named apart from their topics
empirical comparison · 0.2benchmarking · 0.2perfect hashing · 0.1cohen's display · 0.1linearization algorithms · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Lightweight generics in embedded systems through static analysisabstractLow-end embedded systems are still programmed in C and assembly, and adopting high-level languages such as C# should reduce the length of their development cycles. For these systems, code size is a major concern, but run-time efficiency should also be reasonable --- programmers will not migrate to C# unless the overhead compared with C is insignificant. In this paper, we propose a static approach based on whole program optimization for implementing .Net generics in such systems. Indeed, the implementation of run-time generics involves a tradeoff between size and run-time efficiency. In this proposal, generic instances are detected through a generalization of RTA to parametric polymorphism. Also, we propose an implementation scheme which employs code sharing and more effective coercions than boxing. Unlike existing implementation schemes, it is scalable in the number of generic instances without involving boxing and unboxing in a systematic way. Olivier Sallenave, Roland Ducournau |
LCTES | 2 |
| 2011 | Metamodeling semantics of multiple inheritance
Roland Ducournau, Jean Privat |
Sci. Comput. Program. | 1 |
| 2011 | Coloring, a versatile technique for implementing object-oriented languagesabstractAbstract Late binding and subtyping create run‐time overhead for object‐oriented languages. Dynamic typing and multiple inheritance create even more overhead. Static typing and single inheritance lead to two major invariants, of reference and position, that make the implementation as efficient as possible. Coloring is a technique that preserves these invariants for dynamic typing or multiple inheritance at minimal spatial cost. Coloring has been independently proposed for method invocation under the name ofselector coloring, for subtype tests under the name ofpack encoding, and for attribute access and object layout. This paper reviews a number of uses of coloring for optimizing object‐oriented programming, generalizes them, and specifies several variations, such as bidirectional andn‐directional coloring. Coloring is NP‐hard, hence compilers that use it depend on heuristics. The paper describes two families of heuristics and presents some experimental results which indicate that coloring is both efficient and tractable and that bidirectional coloring gives the best results. Copyright © 2010 John Wiley & Sons, Ltd. Roland Ducournau |
Softw. Pract. Exp. | 1 |
| 2011 | Perfect class hashing and numbering for object-oriented implementationabstractAbstract Late binding and subtyping create run‐time overhead for object‐oriented languages, especially in the context of both multiple inheritance and dynamic loading, for instance for JAVA interfaces. In a previous article, we proposed a novel approach based on perfect hashing and truly constant‐time hashtables for implementing subtype testing and method invocation in a dynamic loading setting. In this first study, we based our efficiency assessment on Driesen's abstract computational model for the time aspect, and on large‐scale benchmarks for the space aspect. The conclusions were that the technique was promising but required further research in order to assess its scalability. This article presents some new results on perfect class hashing that enhance its interest. We propose and test both new hashing functions and an inverse problem that amounts to selecting the best class identifiers in order to minimize the overall hashtable size. This optimizing approach is proven to be optimal for single‐inheritance hierarchies. Experiments within an extended testbed with random class loading and under cautious assumptions about what should be a sensible class‐loading order show that perfect class hashing scales up gracefully, especially on JAVA‐like multiple‐subtyping hierarchies. Furthermore, perfect class hashing is implemented in the PRM compiler testbed, and compared here with the coloring technique, which amounts to maintaining the single‐inheritance implementation in multiple inheritance. The overall conclusion is that the approach is efficient from both time and space standpoints with the bit‐wise and hashing function. In contrast, the poor time efficiency of modulus hashing function on most processors is confirmed. Copyright © 2010 John Wiley & Sons, Ltd. Roland Ducournau, Floréal Morandat |
Softw. Pract. Exp. | 1 |
| 2009 | Empirical assessment of object-oriented implementations with multiple inheritance and static typingabstractObject-oriented languages involve a threefold tradeoff between runtime efficiency, expressiveness (multiple inheritance), and modularity, i.e. open-world assumption (OWA). Runtime efficiency is conditioned by both the implementation technique and compilation scheme. The former specifies the data structures that support method invocation, attribute access and subtype testing. The latter consists of the production line of an executable from the source code. Many implementation techniques have been proposed and several compilation schemes can be considered from fully global compilation under the closed-world assumption (CWA) to separate compilation with dynamic loading under the OWA, with midway solutions. This article reviews a significant subset of possible combinations and presents a systematic, empirical comparison of their respective efficiencies with all other things being equal. The testbed consists of the Prm compiler that has been designed for this purpose. The considered techniques include C++ subobjects, coloring, perfect hashing, binary tree dispatch and caching. A variety of processors were considered. Qualitatively, these first results confirm the intuitive or theoretical abstract assessments of the tested approaches. As expected, efficiency increases as CWA strengthens. From a quantitative standpoint, the results are the first to precisely compare the efficiency of techniques that are closely associated with specific languages like C++ and Eiffel. They also confirm that perfect hashing should be considered for implementing Java and .Net interfaces. Roland Ducournau, Floréal Morandat, Jean Privat |
OOPSLA | 1 |
| 2008 | Perfect hashing as an almost perfect subtype testabstractSubtype tests are an important issue in the implementation of object-oriented programming languages. Many techniques have been proposed, but none of them perfectly fulfills the five requirements that we have identified: constant-time, linear-space, multiple inheritance, dynamic loading and inlining. In this article, we propose a subtyping test implementation that involves a combination of usual hashtables and Cohen's display, which is a well-known technique for single inheritance hierarchies. This novel approach is based on perfect hashing , that is, an optimized and truly constant-time variant of hashing that applies to immutable hashtables. We show that the resulting technique closely meets all five requirements. Furthermore, in the framework of Java-like languages—characterized by single inheritance of classes and multiple subtyping of interfaces—perfect hashing also applies to method invocation when the receiver is typed by an interface. The proposed technique is compared to some alternatives, including the proposal by Palacz and Vitek [2003]. Time-efficiency is assessed at the cycle level in the framework of Driesen's pseudo-code and the linear-space criterion is validated by statistical simulation on benchmarks consisting of large-scale class hierarchies. Roland Ducournau |
ACM Trans. Program. Lang. Syst. | 1 |
| 2005 | Link-time static analysis for efficient separate compilation of object-oriented languagesabstractCompilers used in industry are mainly based on a separate compilation framework. However, the knowledge of the whole program improves efficiency of object-oriented language compilers, therefore more efficient implementation techniques are based on a global compilation framework.In this paper, we propose a compromise by including three global compilation techniques (type analysis, coloring and binary tree dispatching) in a separate compilation framework. Files are independently compiled into standard binary files with unresolved symbols. The program is build by linking object files: files are gathered and analyzed, some link code is generated then symbols are resolved. Jean Privat, Roland Ducournau |
PASTE | 2 |
| 1994 | Proposal for a Monotonic Multiple Inheritance LinearizationabstractPrevious studies concerning multiple inheritance convinced us that a better analysis of conflict resolution mechanisms was necessary. In [DHHM92], we stated properties that a sound mechanism has to respect. Among them, a monotonicity principle plays a critical role, ensuring that the inheritance mechanism behaves “naturally” relative to the incremental design of the inheritance hierarchy. We focus here on linearizations and present an intrinsically monotonic linearization, whereas currently used linearizations are not. This paper describes the algorithm in detail, explains the design choices, and compares it to other linearizations, with LOOPS and CLOS taken as references. In particular, this new linearization extends CLOS and LOOPS linearizations, producing the same results when these linearizations are sound. Roland Ducournau, Michel Habib, Marianne Huchard, Marie-Laure Mugnier |
OOPSLA | 1 |
| 1994 | On Stein's Paper: Resolving Ambiguity in Nonmonotonic Inheritance Hierarchies
Geneviève Simonet, Roland Ducournau |
Artif. Intell. | 2 |
| 1994 | An object-based representation system for organic synthesis planning
Amedeo Napoli, Claude Laurenço, Roland Ducournau |
Int. J. Hum. Comput. Stud. | 3 |
| 1992 | Monotonic Conflict Resolution Mechanisms for InheritanceabstractThe main topic of this paper is multiple inheritance and conflict resolution methods in Object Oriented Programming. Our aim is to develop sound mechanisms easily understandable to any user. For this purpose, coherent behaviors of conflict resolution methods for multiple inheritance (such as supporting incrementality-monotonicity and stability under link subdivision) are introduced. We present interesting examples in which multiple inheritance known linearization algorithms (such as in CLOS [2] and LOOPS [19]) behave badly. Then we carefully study the conditions (on the inheritance graph) which assure good linearizations. We end with some suggestions for an incremental inheritance algorithm. Roland Ducournau, Michel Habib, Marianne Huchard, Marie-Laure Mugnier |
OOPSLA | 1 |
| 1987 | On Some Algorithms for Multiple Inheritance in Object-Oriented Programming
Roland Ducournau, Michel Habib |
ECOOP | 1 |