VLDB 2026 Research / reviewers in the wild / expert
Bruno Dufour
dblp:65/4767
· DBLP profile ↗
12ranked-venue papers
4as first author
0since 2021 · last 2015
0000-0003-0577-1675ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 4 first-authorSystems, architecture and hardware · 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 |
Program analysis · 73% Programming languages and type systems · 9% Runtime systems and virtual machines · 8% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Performance modeling and evaluation · 100% |
Topics — the 8 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
dynamic analysis |
0.2 | 2 | 2008 | A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications · SIGSOFT FSE 2008 Blended analysis for performance understanding of framework-based applications · ISSTA 2007 |
Program analysis › static analysis › pointer analysis
escape analysis |
0.2 | 2 | 2008 | A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications · SIGSOFT FSE 2008 Blended analysis for performance understanding of framework-based applications · ISSTA 2007 |
Performance modeling and evaluation
workload characterization |
0.1 | 2 | 2004 | Measuring the dynamic behaviour of AspectJ programs · OOPSLA 2004 Dynamic metrics for java · OOPSLA 2003 |
Program analysis
static analysis |
0.1 | 1 | 2008 | A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications · SIGSOFT FSE 2008 |
Programming languages and type systems
aspect-oriented programming |
0.0 | 1 | 2004 | Measuring the dynamic behaviour of AspectJ programs · OOPSLA 2004 |
Runtime systems and virtual machines › managed runtime
java runtime |
0.0 | 1 | 2003 | Dynamic metrics for java · OOPSLA 2003 |
Operating systems
workload characterization |
0.0 | 1 | 2008 | A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications · SIGSOFT FSE 2008 |
Program analysis › dynamic analysis › instrumentation
bytecode instrumentation |
0.0 | 1 | 2004 | Measuring the dynamic behaviour of AspectJ programs · OOPSLA 2004 |
Methods — techniques the papers use, named apart from their topics
dynamic analysis · 0.2bytecode instrumentation · 0.1dynamic metrics · 0.1blended escape analysis · 0.1benchmark analysis · 0.1abstract interpretation · 0.1static analysis · 0.1escape analysis · 0.1blended analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | An observational study on API usage constraints and their documentationabstractNowadays, APIs represent the most common reuse form when developing software. However, the reuse benefits depend greatly on the ability of client application developers to use correctly the APIs. In this paper, we present an observational study on the API usage constraints and their documentation. To conduct the study on a large number of APIs, we implemented and validated strategies to automatically detect four types of usage constraints in existing APIs. We observed that some of the constraint types are frequent and that for three types, they are not documented in general. Surprisingly, the absence of documentation is, in general, specific to the constraints and not due to the non documenting habits of developers. Mohamed Aymen Saied, Houari Sahraoui, Bruno Dufour |
SANER | 3 |
| 2015 | Learning dependency-based change impact predictors using independent change histories
Hani Abdeen, Khaled Bali, Houari Sahraoui, Bruno Dufour |
Inf. Softw. Technol. | 4 |
| 2014 | Portable and Efficient Run-time Monitoring of JavaScript Applications Using Virtual Machine Layering
Erick Lavoie, Bruno Dufour, Marc Feeley |
ECOOP | 2 |
| 2012 | Vasco: A visual approach to explore object churn in framework-intensive applicationsabstractBloat, and particularly object churn, is a common performance problem in framework-intensive applications. Object churn consists of an excessive use of temporary objects. Identifying and understanding sources of churn is a difficult and labor-intensive task, despite recent advances in automated analysis techniques. We present an interactive visualization approach designed to help developers quickly and intuitively explore the behavior of their application with respect to object churn. We have implemented this technique in Vasco, a new flexible and scalable visualization platform. Vasco is designed to minimize the cognitive effort required for the visualization task. We demonstrate the effectiveness of our approach by applying it to three framework-intensive applications and identifying previously unreported churn in a commercial system. Fleur Duseau, Bruno Dufour, Houari Sahraoui |
ICSM | 2 |
| 2011 | Bootstrapping a self-hosted research virtual machine for JavaScript: an experience reportabstractJavaScript is one of the most widely used dynamic languages. The performance of existing JavaScript VMs, however, is lower than that of VMs for static languages. There is a need for a research VM to easily explore new implementation approaches. This paper presents the Tachyon JavaScript VM which was designed to be flexible and to allow experimenting with new approaches for the execution of JavaScript. The Tachyon VM is itself implemented in JavaScript and currently supports a subset of the full language that is sufficient to bootstrap itself. The paper discusses the architecture of the system and in particular the bootstrapping of a self-hosted VM. Preliminary performance results indicate that our VM, with few optimizations, can already execute code faster than a commercial JavaScript interpreter on some benchmarks. Maxime Chevalier-Boisvert, Erick Lavoie, Marc Feeley, Bruno Dufour |
DLS | 4 |
| 2010 | Exploring the impact of context sensitivity on blended analysisabstractThis paper explores the use of context sensitivity both intra- and inter-procedurally in a blended (static/dynamic) program analysis for identifying source of object churn in framework-intensive Web-based applications. Empirical experiments with an existing blended analysis algorithm compare combinations of (i) use of a context-insensitive call graph with a context-sensitive calling context tree, and (ii) use (or not) of context-sensitive code pruning within methods. These experiments demonstrate achievable gains in scalability and performance in terms of several metrics designed for blended escape analysis, and report results in terms of object instances created, to allow more realistic conclusions from the data than were possible previously. Marc Fisher II, Bruno Dufour, Shrutarshi Basu, Barbara G. Ryder |
ICSM | 2 |
| 2010 | Deriving Coupling Metrics from Call GraphsabstractCoupling metrics play an important role in empirical software engineering research as well as in industrial measurement programs. The existing coupling metrics have usually been defined in a way that they can be computed from a static analysis of the source code. However, modern programs extensively use dynamic language features such as polymorphism and dynamic class loading that are difficult to capture by static analysis. Consequently, the derived metric values might not accurately reflect the state of a program. In this paper, we express existing definitions of coupling metrics using call graphs. We then compare the results of four different call graph construction algorithms with standard tool implementations of these metrics in an empirical study. Our results show important variations in coupling between standard and call graph-based calculations due to the support of dynamic features. Simon Allier, Stéphane Vaucher, Bruno Dufour, Houari Sahraoui |
SCAM | 3 |
| 2008 | A scalable technique for characterizing the usage of temporaries in framework-intensive Java applicationsabstractFramework-intensive applications (e.g., Web applications) heavily use temporary data structures, often resulting in performance bot-tlenecks. This paper presents an optimized blended escape analysis to approximate object lifetimes and thus, to identify these tempo-raries and their uses. Empirical results show that this optimized analysis on average prunes 37 % of the basic blocks in our bench-marks, and achieves a speedup of up to 29 times compared to the original analysis. Newly defined metrics quantify key properties of temporary data structures and their uses. A detailed empirical eval-uation offers the first characterization of temporaries in framework-intensive applications. The results show that temporary data struc-tures can include up to 12 distinct object types and can traverse through as many as 14 method invocations before being captured. Bruno Dufour, Barbara G. Ryder, Gary Sevitsky |
SIGSOFT FSE | 1 |
| 2007 | Blended analysis for performance understanding of framework-based applicationsabstractThis paper defines a new analysis paradigm, blended program analysis, that enables practical, effective analysis of large framework-based Java applications for performance understanding. Blended analysis combines a dynamic representation of the program calling structure, with a static analysis applied to a region of that calling structure with observed performance problems. A blended escape analysis is presented which enables approximation of object effective lifetimes, to facilitate explanation of the usage of newly created objects in a program region. Performance bottlenecks stemming from overuse of temporary structures are common in framework-based applications. Metrics are introduced to expose how, in aggregate, these applications make use of new objects. Results of empirical experiments with the Trade benchmark are presented. A case study demonstrates how results from a blended escape analysis can help locate, in a region which calls 223 distinct methods, the single call path responsible for a performance problem involving objects created at 9 distinct sites and as far as 6 call levels away. Bruno Dufour, Barbara G. Ryder, Gary Sevitsky |
ISSTA | 1 |
| 2005 | Middleware benchmarking: approaches, results, experiencesabstractThe report summarizes the results of the Workshop on Middleware Benchmarking held during OOPSLA 2003. The goal of the workshop was to help advance the current practice of gathering performance characteristics of middleware implementations through benchmarking. The participants of the workshop have focused on identifying requirements of and obstacles to middleware benchmarking and forming a position on the related issues. Selected requirements and obstacles are presented, together with guidelines to adhere to when benchmarking, open issues of current practice, and perspectives on further research. Copyright © 2005 John Wiley & Sons, Ltd. Paul Brebner, Emmanuel Cecchet, Julie Marguerite, Petr Tuma 0001, Octavian Ciuhandu, Bruno Dufour, Lieven Eeckhout, Stéphane Frénot, Arvind S. Krishna, John Murphy 0001, Clark Verbrugge |
Concurr. Comput. Pract. Exp. | 6 |
| 2004 | Measuring the dynamic behaviour of AspectJ programsabstractThis paper proposes and implements a rigorous method for studying the dynamic behaviour of AspectJ programs. As part of this methodology several new metrics specific to AspectJ programs are proposed and tools for collecting the relevant metrics are presented. The major tools consist of: (1) a modified version of the AspectJ compiler that tags bytecode instructions with an indication of the cause of their generation, such as a particular feature of AspectJ; and (2) a modified version of the *J dynamic metrics collection tool which is composed of a JVMPI-based trace generator and an analyzer which propagates tags and computes the proposed metrics. This dynamic propagation is essential, and thus this paper contributes not only new metrics, but also non-trivial ways of computing them. Bruno Dufour, Christopher Goard, Laurie J. Hendren, Oege de Moor, Ganesh Sittampalam, Clark Verbrugge |
OOPSLA | 1 |
| 2003 | Dynamic metrics for javaabstractIn order to perform meaningful experiments in optimizing compilation and run-time system design, researchers usually rely on a suite of benchmark programs of interest to the optimization technique under consideration. Programs are described as numeric, memory-intensive, concurrent, or object-oriented, based on a qualitative appraisal, in some cases with little justification. We believe it is beneficial to quantify the behaviour of programs with a concise and precisely defined set of metrics, in order to make these intuitive notions of program behaviour more concrete and subject to experimental validation. We therefore define and measure a set of unambiguous, dynamic, robust and architecture-independent metrics that can be used to categorize programs according to their dynamic behaviour in five areas: size, data structure, memory use, concurrency, and polymorphism. A framework computing some of these metrics for Java programs is presented along with specific results demonstrating how to use metric data to understand a program's behaviour, and both guide and evaluate compiler optimizations. Bruno Dufour, Karel Driesen, Laurie J. Hendren, Clark Verbrugge |
OOPSLA | 1 |