VLDB 2026 Research / reviewers in the wild / expert
Laurent Réveillère
dblp:11/1262
· DBLP profile ↗
49ranked-venue papers
2as first author
10since 2021 · last 2026
0000-0002-7625-0562ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 27 · 1 first-author · 2 since 2021Systems, architecture and hardware · 7 · 1 first-author · 2 since 2021Security and privacy · 5 · 1 first-authorComputer networks · 4 · 3 since 2021Databases, data management, data science and information retrieval · 1Graphics, computer vision, multimedia, augmented reality and games · 1Applied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | FairMEC: Achieving Fair Resource Sharing in Multi-Access Edge Computing FederationsabstractInternational audience Léo Mendiboure, Stéphane Delbruel, Tidiane Sylla, Lylia Alouache, Romain Dulout, Secil Ercan, Amirhosein Taherkordi, Marion Berbineau, Laurent Réveillère |
INFOCOM | 9 |
| 2026 | Optimizing IoT Wireless Networks Through Distributed Allocation of Idle Time SlotsabstractWhile the integration of the Internet of Things (IoT) has expanded networking capabilities, it has also intensified challenges regarding communication reliability and resource constraints in wireless environments. Interference and message collisions significantly impact fault tolerance and energy efficiency, particularly in distance-2 colored networks. While traditional TDMA-based MAC schemes mitigate collisions, they often leave a gap in performance due to underutilized time slots. This paper bridges that gap by unveiling an incisive study on harnessing underused time slots to bolster both communication and energy efficiency in wireless networks. Our new distributed protocol—operating within the synchronous distance-2 colored broadcast/receive model—empowers highly active nodes to judiciously borrow time slots from underutilized neighbors while preserving collision-free and conflict-free guarantees. Furthermore, we introduce a nuanced probability-based strategy that enables nodes to discern opportune moments for lending their time slots. Experimental results substantiate the efficacy of our proposed solution, offering a pathway toward optimizing wireless network operations in the IoT era. Hicham Lakhlef, Khaled Abid, Laurent Réveillère, Toufik Ahmed |
IEEE Internet Things J. | 3 |
| 2024 | AUPE: Collaborative Byzantine fault-tolerant peer-samplingabstractPeer sampling is a crucial primitive in distributed systems, used to manage overlays and disseminate information in large-scale scenarios such as permissionless blockchain systems. Its purpose is to maintain and regularly update a local and partial snapshot, or view, of the complete system’s membership. These protocols are often targeted by malicious actors who aim to disrupt higher-level protocols. Typically, an adversary who controls a set of Byzantine nodes attempts to manipulate how legitimate nodes perceive the presence of Byzantine ones by increasing their representation in the view of honest nodes. While state-of-the-art Byzantine-tolerant peer sampling protocols mitigate this bias, their effectiveness decreases significantly as the number of malicious nodes increases. This paper introduces AUPE, the first collaborative Byzantine-tolerant peer sampling protocol that leverages the presence of trusted nodes, such as Intel’s SGX capable devices, to collaboratively track the spread of identifiers in the system and locally debias the representation of Byzantine nodes. Simulations with $\mathbf{1 0, 0 0 0}$ nodes demonstrate that AUPE outperforms state-of-the-art solutions, achieving nearperfect resilience even when faced with an adversary controlling $\mathbf{2 6 \%}$ of the nodes. Overall, by including as few as $\mathbf{1 0 \%}$ of trusted nodes, AUPE increases the tolerance of Brahms by up to $\mathbf{6 0 \%}$ while limiting the impact of the adversary’s attack, even when possessing up to 40% of the nodes. Augusta Mukam, Joachim Bruneau-Queyreix, Laurent Réveillère |
NCA | 3 |
| 2022 | RAPTEE: Leveraging trusted execution environments for Byzantine-tolerant peer sampling servicesabstractPeer sampling is a first-class abstraction used in distributed systems for overlay management and information dissemination. The goal of peer sampling is to continuously build and refresh a partial and local view of the full membership of a dynamic, large-scale distributed system. Malicious nodes under the control of an adversary may aim at being over-represented in the views of correct nodes, increasing their impact on the proper operation of protocols built over peer sampling. State-of-the-art Byzantine resilient peer sampling protocols reduce this bias as long as Byzantines are not overly present. This paper studies the benefits brought to the resilience of peer sampling services when considering that a small portion of trusted nodes can run code whose authenticity and integrity can be assessed within a trusted execution environment, and specifically Intel’s software guard extensions technology (SGX). We present RAPTEE, a protocol that builds and leverages trusted gossip-based communications to hamper an adversary’s ability to increase its system-wide representation in the views of all nodes. We apply RAPTEE to BRAHMS, the most resilient peer sampling protocol to date. Experiments with 10,000 nodes show that with only 1% of SGX-capable devices, RAPTEE can reduce the proportion of identifiers of Byzantine nodes in the view of honest ones by up to 17%, when the system contains 10% of Byzantine nodes. In addition, the security guarantees of RAPTEE hold even in the presence of a powerful attacker attempting to identify trusted nodes and injecting view-poisoned trusted nodes. Matthieu Pigaglio, Joachim Bruneau-Queyreix, Yérom-David Bromberg, Davide Frey, Etienne Rivière, Laurent Réveillère |
ICDCS | 6 |
| 2022 | In-depth analysis of the IDA-Gossip protocolabstractGossip-based dissemination protocols are important building blocks of large-scale distributed systems as they may impact both the systems’ efficiency and fault tolerance. There exist many flavors of gossip dissemination protocols. IDA-Gossip is one of the gossip dissemination protocols proposed in the context of blockchains to efficiently disseminate large messages. It relies on multi-chunk gossip dissemination, erasure coding, and Merkle hash trees. However, despite its claimed efficiency, there is no in-depth analysis of this protocol to understand its behavior under different conditions (e.g., with injected faults). In this work, we evaluate the behavior of IDA-Gossip by relying on extensive experiments and simulations. Specifically, we evaluate IDA-Gossip both in terms of performance and resilience to faults by varying its configuration parameters and the number of faulty nodes, respectively. This study results in several takeaways. First, IDA-Gossip provides excellent dissemination latency compared to classic gossip. Second, it provides excellent coverage even with 40 percent of faulty nodes in the system. Finally, the use of erasure coding provides an important advantage to IDA-Gossip compared to classic multi-chunk gossip dissemination protocols. Kadir Korkmaz 0001, Joachim Bruneau-Queyreix, Stéphane Delbruel, Sonia Ben Mokhtar, Laurent Réveillère |
NCA | 5 |
| 2022 | ALDER: Unlocking blockchain performance by multiplexing consensus protocolsabstractMost of today’s online services (e.g., social networks, search engines, marketplace places) are centralized, which most users recognize as unsatisfactory for various reasons (e.g., centralized governance, censorship, loss of control over personal data). Blockchain technologies promise a new Web revolution (Web 3.0) through the decentralization of online services. However, one of the fundamental limitations for this revolution to happen at a planetary scale is the poor performance of today’s permissionless blockchains. In this paper, we propose ALDER, a generic construction that multiplexes off-the-shelf permissionless blockchain protocols to address the performance bottleneck due to store-validate-forward block dissemination techniques in blockchain protocols. We apply ALDER to two representative blockchains, namely Algorand (Proof-of-Stake) and Bitcoin (Proof-of-Work), to illustrate the benefits it brings to blockchain performance. Our evaluations show that ALDER can drastically improve the throughput of blockchains when bottlenecks exist. Kadir Korkmaz 0001, Joachim Bruneau-Queyreix, Sonia Ben Mokhtar, Laurent Réveillère |
NCA | 4 |
| 2022 | Fostering the diversity of exploratory testing in web applicationsabstractSummary Exploratory testing (ET) is a software testing approach that complements automated testing by leveraging business expertise. It has gained momentum over the last decades as it appeals testers to exploit their business knowledge to stress the system under test (SUT). Exploratory tests, unlike automated tests, are defined and executed on‐the‐fly by testers. However, testers who perform exploratory tests may be biased by their experience and, incidentally, miss anomalies or unusual interactions proposed by the SUT. This is even more complex in the context of web applications, which typically expose a huge number of interaction paths to their users. As testers of these applications cannot remember all the sequences of interactions they performed, they may fail to deeply explore the application scope. This article, therefore, introduces a new approach to assist testers in widely exploring any web application. In particular, our approach monitors the online interactions performed by the testers to suggest in real‐time the probabilities of performing next interactions. Looking at these probabilities, we claim that the testers who favour interactions that have a low probability (because they were rarely performed), will increase the diversity of their explorations. Our approach defines a prediction model, based on ‐grams, that encodes the history of past interactions and that supports the estimation of the probabilities. Integrated within a web browser extension, it automatically and transparently injects feedback within the application itself. We conduct a controlled experiment and a qualitative study to assess our approach. Results show that it prevents testers to be trapped in already tested loops, and succeeds to assist them in performing deeper explorations of the SUT. Julien Leveau, Xavier Blanc 0001, Laurent Réveillère, Jean-Rémy Falleri, Romain Rouvoy |
Softw. Test. Verification Reliab. | 3 |
| 2022 | Network Services Anomalies in NFV: Survey, Taxonomy, and Verification MethodsabstractNetwork Function Virtualization (NFV) has emerged as a disruptive networking architecture whose galloping evolution is prompting enterprises to outsource network functions to the cloud and ultimately harvest the fruits of cloud computing, including elasticity, pay-as-you-go billing model, and on-demand services provisioning. However, many reluctant enterprises oppose the benefits of this outsourcing to their critical and pressing concerns about security, trust, and compliance. The latter anticipate possible security and QoS policy violations stemming from dishonest behaviors by cloud providers, attacks by co-resident competitors, misconfiguration by cloud administrators, or implementations flaws by NFV developers. As a result, migrating sensitive workloads to the cloud requires enterprises to first assess risks by gaining knowledge of possible network services’ anomalies and second, to build trust in the cloud by designing effective mechanisms to detect such anomalies. This survey provides scrutiny of network services anomalies that may occur in the NFV environments. We first present a taxonomy of network service anomalies and analyze their negative impacts on critical service attributes, including security and performance. Second, we compare and classify the existing anomalies’ verification mechanisms from the literature. Finally, we point out the literature gap and identify future research directions for anomalies verification in NFV. Moubarak Zoure, Toufik Ahmed, Laurent Réveillère |
IEEE Trans. Netw. Serv. Manag. | 3 |
| 2021 | PProx: efficient privacy for recommendation-as-a-serviceabstractWe present PProx, a system preventing recommendation-as-a-service (RaaS) providers from accessing sensitive data about the users of applications leveraging their services. PProx does not impact recommendations accuracy, is compatible with arbitrary recommendation algorithms, and has minimal deployment requirements. Its design combines two proxying layers directly running inside SGX enclaves at the RaaS provider side. These layers transparently pseudonymize users and items and hide links between the two, and PProx privacy guarantees are robust even to the corruption of one of these enclaves. We integrated PProx with Harness's Universal Recommender and evaluated it on a 27-node cluster. Our results indicate its ability to withstand a high number of requests with low end-to-end latency, horizontally scaling up to match increasing workloads of recommendations. Guillaume Rosinosky, Simon Da Silva, Sonia Ben Mokhtar, Daniel Négru, Laurent Réveillère, Etienne Rivière |
Middleware | 5 |
| 2021 | Extending Intel PML for hardware-assisted working set size estimation of VMsabstractIntel page modification logging (PML) is a hardware feature introduced in 2015 for tracking modified memory pages of virtual machines (VMs). Although initially designed to improve VMs checkpointing and live migration, we present in this paper how we can take advantage of this virtualization technology to efficiently estimate the working set size (WSS) of a VM. To this end, we first conduct a study of PML with the Xen hypervisor to investigate its performance impact on VMs and the accuracy of a WSS estimation system that relies on the current version of PML. Our three main findings are as follows. (1) PML reduces by up to 10.18% the time of both VM live migration and checkpointing. (2) PML slightly reduces the negative impact of live migration on application performance by up to 0.95%. (3) A WSS estimation system based on the current version of PML provides inaccurate results. Moreover, our experiments show that write-intensive applications are negatively impacted, with up to 34.9% of performance degradation, when using PML to estimate the WSS of a VM that runs these applications. Based on the aforementioned findings, we introduce page reference logging (PRL), an extended version of PML that allows both read and write memory accesses to be tracked without impacting user VMs, thus more suitable for WSS estimation. We propose a WSS estimation system that leverages PRL and show how it can be used in a data center exploiting memory overcommitment. We implement PRL and the underlying WSS estimation system under Gem5, a popular open-source computer architecture simulator. Evaluation results validate the accuracy of the WSS estimation system and show that PRL does not incur more performance degradation on user’s VMs. Stella Bitchebe, Djob Mvondo, Laurent Réveillère, Noel De Palma, Alain Tchana |
VEE | 3 |
| 2020 | Fostering the Diversity of Exploratory Testing in Web ApplicationsabstractExploratory testing (ET) is a software testing approach that complements automated testing by leveraging business expertise. It has gained momentum over the last decades as it appeals testers to exploit their business knowledge to stress the system under test (SUT). Exploratory tests, unlike automated tests, are defined and executed on-the-fly by testers. Testers who perform exploratory tests may be biased by their past experience and therefore may miss anomalies or unusual interactions proposed by the SUT. This is even more complex in the context of web applications, which typically expose a huge number of interaction paths to their users. As testers of these applications cannot remember all the sequences of interactions they performed, they may fail to deeply explore the application scope. This paper therefore introduces a new approach to assist testers in widely exploring any web application. In particular, our approach monitors the online interactions performed by the testers to suggest in real-time the probabilities of performing next interactions. Looking at these probabilities, we claim that the testers who favour interactions that have a low probability (because they were rarely performed), will increase the diversity of their explorations. Our approach defines a prediction model, based on ${n}$-grams, that encodes the history of past interactions and that supports the estimation of the probabilities. Integrated within a web browser extension, it automatically and transparently injects feedback within the application itself. We conduct a controlled experiment and a qualitative study to assess our approach. Results show that it prevents testers to be trapped in already tested loops, and succeeds to assist them in performing deeper explorations of the SUT. Julien Leveau, Xavier Blanc 0001, Laurent Réveillère, Jean-Rémy Falleri, Romain Rouvoy |
ICST | 3 |
| 2020 | Practical Active RevocationabstractWe propose Knob, a practical active revocation scheme allowing to efficiently revoke users' access to encrypted data banks stored in public clouds. Knob leverages Trusted Execution Environments and All-or-Nothing Data Transforms in order to re-encrypt only small portions of the content directly in the cloud, using a scalable swarm of re-encryption workers. It prevents malicious users from being able to predict which portions of the files will be re-encrypted upon a revocation, effectively disabling pre-provisioning attacks. Our evaluation using industry workloads shows that Knob outperforms active revocation using full re-encryption by up to 3 orders of magnitude while being on average 3 to 7 times faster than state-of-the-art partial re-encryption. Stefan Contiu, Laurent Réveillère, Etienne Rivière |
Middleware | 2 |
| 2019 | PrivaTube: Privacy-Preserving Edge-Assisted Video StreamingabstractVideo on Demand (VoD) streaming is the largest source of Internet traffic. Efficient and scalable VoD requires Content Delivery Networks (CDNs) whose cost are prohibitive for many providers. An alternative is to cache and serve video content using end-users devices. Direct connections between these devices complement the resources of core VoD servers with an edge-assisted collaborative CDN. Simon Da Silva, Sonia Ben Mokhtar, Stefan Contiu, Daniel Négru, Laurent Réveillère, Etienne Rivière |
Middleware | 5 |
| 2019 | Emergent Overlays for Adaptive MANET BroadcastabstractMobile Ad-Hoc Networks (MANETs) allow distributed applications where no fixed network infrastructure is available. MANETs use wireless communication subject to faults and uncertainty, and must support efficient broadcast. Controlled flooding is suitable for highly-dynamic networks, while overlay-based broadcast is suitable for dense and more static ones. Density and mobility vary significantly over a MANET deployment area. We present the design and implementation of emergent overlays for efficient and reliable broadcast in heterogeneous MANETs. This adaptation technique allows nodes to automatically switch from controlled flooding to the use of an overlay. Interoperability protocols support the integration of both protocols in a single heterogeneous system. Coordinated adaptation policies allow regions of nodes to autonomously and collectively emerge and dissolve overlays. Our simulation of the full network stack of 600 mobile nodes shows that emergent overlays reduce energy consumption, and improve reliability and coverage compared to single protocols and to two previously-proposed adaptation techniques. Raziel Carvajal-Gomez, Yehia El-khatib, Laurent Réveillère, Etienne Rivière, Yérom-David Bromberg |
SRDS | 3 |
| 2019 | Anonymous and Confidential File Sharing over Untrusted CloudsabstractUsing public cloud services for storing and sharing confidential data requires end users to cryptographically protect both the data and the access to the data. In some cases, the identity of end users needs to remain confidential against the cloud provider and fellow users accessing the data. As such, the underlying cryptographic access control mechanism needs to ensure the anonymity of both data producers and consumers. We introduce A-SKY, a cryptographic access control extension capable of providing confidentiality and anonymity guarantees, all while efficiently scaling to large organizations. A-SKY leverages trusted execution environments (TEEs) to address the impracticality of anonymous broadcast encryption (ANOBE) schemes, achieving faster execution times and shorter ciphertexts. The innovative design of A-SKY limits the usage of the TEE to the narrow set of data producing operations, and thus optimizes the dominant data consumption actions by not requiring a TEE. Furthermore, we propose a scalable implementation for A-SKY leveraging micro-services that preserves strong security guarantees while being able to efficiently manage realistic large user bases. Results highlight that the A-SKY cryptographic scheme is 3 orders of magnitude better than state of the art ANOBE, and an end-to-end system encapsulating A-SKY can elastically scale to support groups of 10000 users while maintaining processing costs below 1 second. Stefan Contiu, Sébastien Vaucher, Rafael Pires 0001, Marcelo Pasin, Pascal Felber, Laurent Réveillère |
SRDS | 6 |
| 2018 | IBBE-SGX: Cryptographic Group Access Control Using Trusted Execution EnvironmentsabstractWhile many cloud storage systems allow users to protect their data by making use of encryption, only few support collaborative editing on that data. A major challenge for enabling such collaboration is the need to enforce cryptographic access control policies in a secure and efficient manner. In this paper, we introduce IBBE-SGX, a new cryptographic access control extension that is efficient both in terms of computation and storage even when processing large and dynamic workloads of membership operations, while at the same time offering zero knowledge guarantees. IBBE-SGX builds upon Identity-Based Broadcasting Encryption (IBBE). We address IBBE's impracticality for cloud deployments by exploiting Intel Software Guard Extensions (SGX) to derive cuts in the computational complexity. Moreover, we propose a group partitioning mechanism such that the computational cost of membership update is bound to a fixed constant partition size rather than the size of the whole group. We have implemented and evaluated our new access control extension. Results highlight that IBBE-SGX performs membership changes 1.2 orders of magnitude faster than the traditional approach of Hybrid Encryption (HE), producing group metadata that are 6 orders of magnitude smaller than HE, while at the same time offering zero knowledge guarantees. Stefan Contiu, Rafael Pires 0001, Sébastien Vaucher, Marcelo Pasin, Pascal Felber, Laurent Réveillère |
DSN | 6 |
| 2018 | MUSLIN demo: high QoE fair multi-source live streamingabstractDelivering video content with a high and fairly shared quality of experience is a challenging task in view of the drastic video traffic increase forecasts. Currently, content delivery networks provide numerous servers hosting replicas of the video content, and consuming clients are re-directed to the closest server. Then, the video content is streamed using adaptive streaming solutions. However, some servers become overloaded, and clients may experience a poor or unfairly distributed quality of experience. Simon Da Silva, Joachim Bruneau-Queyreix, Mathias Lacaud, Daniel Négru, Laurent Réveillère |
MMSys | 5 |
| 2017 | Benchmarking Cryptographic Schemes for Securing Public Cloud Storages - (Practical Experience Report)abstractMuch research has focused during the last years on the security and privacy concerns of public cloud storages. Cryptographic primitives are commonly used to ensure user data confidentiality, authenticity and integrity. Confidentiality has been addressed by the use of symmetric-key encryption algorithms, while integrity and authenticity have been achieved by using message authentication codes, secure hashes or digital signatures. The choice of a specific configuration for securing an untrusted cloud storage highly depends on the expected security level, the size and type of data to store and the access pattern to these data. In this work, we are interested in overcoming the lack of comprehensive comparison of the costs and effectiveness of cryptographic primitives for securing public cloud storage, and ease an informed choice between them based on target usage conditions. We describe the results of an independent experimental study of six cryptographic schemes, representative of the principal design alternatives. Our practical experience report reveals that the best scheme for a given situation, such as a write-heavy workload of mostly small files, is not necessarily the most appropriate for a different situation such as a read-only workload of large files. We identify the scheme characteristics that are correlated with these differences and discuss the pros and cons of each design. Our experimental framework and results are available in the open for use by the community. Stefan Contiu, Emmanuel Leblond, Laurent Réveillère |
DAIS | 3 |
| 2017 | Density and Mobility-Driven Evaluation of Broadcast Algorithms for MANETsabstractBroadcast is a fundamental operation in Mobile Ad-Hoc Networks (MANETs). A large variety of broadcast algorithms have been proposed. They differ in the way message forwarding between nodes is controlled, and in the level of information about the topology that this control requires. Deployment scenarios for MANETs vary widely, in particular in terms of nodes density and mobility. The choice of an algorithm depends on its expected coverage and energy cost, which are both impacted by the deployment context. In this work, we are interested in the comprehensive comparison of the costs and effectiveness of broadcast algorithms for MANETs depending on target environmental conditions. We describe the results of an experimental study of five algorithms, representative of the main design alternatives. Our study reveals that the best algorithm for a given situation, such as a high density and a stable network, is not necessarily the most appropriate for a different situation such as a sparse and mobile network. We identify the algorithms characteristics that are correlated with these differences and discuss the pros and cons of each design. Raziel Carvajal-Gomez, Inti Y. Gonzalez-Herrera, Yérom-David Bromberg, Laurent Réveillère, Etienne Rivière |
ICDCS | 4 |
| 2017 | Polly: A Language-Based Approach for Custom Change Detection of Web Service Data
Elyas Ben Hadj Yahia, Jean-Rémy Falleri, Laurent Réveillère |
ICSOC | 3 |
| 2017 | Raters' reliability in clone benchmarks construction
Alan Charpentier, Jean-Rémy Falleri, Floréal Morandat, Elyas Ben Hadj Yahia, Laurent Réveillère |
Empir. Softw. Eng. | 5 |
| 2016 | Automated Extraction of Mixins in Cascading Style SheetsabstractCascading style sheets (CSS) is a language that describes the presentation of web documents. CSS is widely adopted in web development and it is now common for web projects to have several thousands of CSS lines of code. Because the language lacks advanced features to allow code reuse, several languages such as Sass and Less have emerged as extensions to CSS. They provide mechanisms such as mixins to enable reuse. However, when a developer wants to migrate her web project from CSS to one of these extension languages, identifying mixins is a challenging task. In this paper, we describe an automated approach to extract mixins from CSS code. We have developed a tool that identifies mixins in CSS files and automatically generates Sass code. Our technique enables a fine-grained control on the generated code tailored to developer needs. We evaluate our approach on more than a hundred CSS files and conduct several case studies to assess its real-world relevance. Alan Charpentier, Jean-Rémy Falleri, Laurent Réveillère |
ICSME | 3 |
| 2016 | Medley: An Event-Driven Lightweight Platform for Service Composition
Elyas Ben Hadj Yahia, Laurent Réveillère, Yérom-David Bromberg, Raphaël Chevalier, Alain Cadot |
ICWE | 2 |
| 2016 | Ahead of time static analysis for automatic generation of debugging interfaces to the Linux kernel
Tegawendé F. Bissyandé, Laurent Réveillère, Julia Lawall, Gilles Muller |
Autom. Softw. Eng. | 2 |
| 2016 | A Flexible SoC and Its Methodology for Parser-Based ApplicationsabstractEmbedded systems are being increasingly network interconnected. They are required to interact with their environment through text-based protocol messages. Parsing such messages is control dominated. The work presented in this article attempts to accelerate message parsers using a codesign-based approach. We propose a generic architecture associated with an automated design methodology that enables SoC/SoPC system generation from high-level specifications of message protocols. Experimental results obtained on a Xilinx ML605 board show acceleration factors ranging from four to 11. Both static and dynamic reconfigurations of coprocessors are discussed and then evaluated so as to reduce the system hardware complexity. Bertrand Le Gal, Yérom-David Bromberg, Laurent Réveillère, Jigar Solanki |
ACM Trans. Reconfigurable Technol. Syst. | 3 |
| 2015 | An empirical assessment of Bellon's clone benchmarkabstractContext: Clone benchmarks are essential to the assessment and improvement of clone detection tools and algorithms. Among existing benchmarks, Bellon's benchmark is widely used by the research community. However, a serious threat to the validity of this benchmark is that reference clones it contains have been manually validated by Bellon alone. Other persons may disagree with Bellon's judgment. Objective: In this paper, we perform an empirical assessment of Bellon's benchmark. Method: We seek the opinion of eighteen participants on a subset of Bellon's benchmark to determine if researchers should trust the reference clones it contains. Results: Our experiment shows that a significant amount of the reference clones are debatable, and this phenomenon can introduce noise in results obtained using this benchmark. Alan Charpentier, Jean-Rémy Falleri, David Lo 0001, Laurent Réveillère |
EASE | 4 |
| 2015 | Implementing an embedded compiler using program transformation rulesabstractSUMMARY Domain‐specific languages (DSLs) are well‐recognized to ease programming and improve robustness for a specific domain, by providing high‐level domain‐specific notations and checks of domain‐specific properties. The compiler of a DSL, however, is often difficult to develop and maintain, because of the need to define a specific treatment for a large and potentially increasing number of language constructs. To address this issue, we propose an approach for specifying a DSL compiler using control‐flow sensitive concrete‐syntax based matching rules. These rules either collect information about the source code to carry out checks or perform transformations to carry out compilation. Because rules only mention the relevant constructs, using their concrete syntax, and hide the complexity of control‐flow graph traversal, it is easy to understand the purpose of each rule. Furthermore, new compilation steps can be added using only a small number of lines of code. We explore this approach in the context of the z2z DSL for network gateway development and show that it is beneficial to implement the core of its compiler in this manner.Copyright © 2013 John Wiley & Sons, Ltd. Tegawendé F. Bissyandé, Laurent Réveillère, Julia Lawall, Yérom-David Bromberg, Gilles Muller |
Softw. Pract. Exp. | 2 |
| 2013 | Popularity, Interoperability, and Impact of Programming Languages in 100, 000 Open Source ProjectsabstractProgramming languages have been proposed even before the era of the modern computer. As years have gone, computer resources have increased and application domains have expanded, leading to the proliferation of hundreds of programming languages, each attempting to improve over others or to address new programming paradigms. These languages range from procedural languages like C, object-oriented languages like Java, and functional languages such as ML and Haskell. Unfortunately, there is a lack of large scale and comprehensive studies that examine the "popularity", "interoperability", and "impact" of various programming languages. To fill this gap, this study investigates a hundred thousands of open source software projects from GitHub to answer various research questions on the "popularity", "interoperability" and "impact" of various languages measured in different ways (e.g., in terms of lines of code, development teams, issues, etc.). Tegawendé F. Bissyandé, Ferdian Thung, David Lo 0001, Lingxiao Jiang, Laurent Réveillère |
COMPSAC | 5 |
| 2013 | EZ: Towards Efficient Asynchronous Protocol Gateway Construction
Yérom-David Bromberg, Floréal Morandat, Laurent Réveillère, Gaël Thomas 0001 |
DAIS | 3 |
| 2013 | Orion: A Software Project Search Engine with Integrated Diverse Software ArtifactsabstractWhat projects contain more than 10, 000 lines of code developed by less than 10 people and are still actively maintained with a high bug-fixing rate? To address the challenges for answering such enquiries, we develop an integrated search engine architecture that combines information from different types of software repositories from multiple sources. Our search engine facilitates the construction and execution of complex search queries using a uniform interface that transparently correlates different artifacts of project development and maintenance, such as source code information, version control systems metadata, bug tracking systems elements, and metadata on developer activities and interactions extracted from hosting platforms. We have built an extensible system with an initial capability of over 100, 000 projects collected from the web, featuring various software development artifacts. Using scenarios, we illustrate the benefits of such a search engine for different kinds of project seekers. Tegawendé F. Bissyandé, Ferdian Thung, David Lo 0001, Lingxiao Jiang, Laurent Réveillère |
ICECCS | 5 |
| 2013 | Got issues? Who cares about it? A large scale investigation of issue trackers from GitHubabstractFeedback from software users constitutes a vital part in the evolution of software projects. By filing issue reports, users help identify and fix bugs, document software code, and enhance the software via feature requests. Many studies have explored issue reports, proposed approaches to enable the submission of higher-quality reports, and presented techniques to sort, categorize and leverage issues for software engineering needs. Who, however, cares about filing issues? What kind of issues are reported in issue trackers? What kind of correlation exist between issue reporting and the success of software projects? In this study, we address the need for answering such questions by performing an empirical study on a hundred thousands of open source projects. After filtering relevant trackers, the study used about 20,000 projects. We investigate and answer various research questions on the popularity and impact of issue trackers. Tegawendé F. Bissyandé, David Lo 0001, Lingxiao Jiang, Laurent Réveillère, Jacques Klein, Yves Le Traon |
ISSRE | 4 |
| 2013 | Understanding the genetic makeup of Linux device driversabstractAttempts have been made to understand driver development in terms of code clones. In this paper, we propose an alternate view, based on the metaphor of a gene. Guided by this metaphor, we study the structure of Linux 3.10 ethernet platform driver probe functions. Peter Senna Tschudin, Laurent Réveillère, Lingxiao Jiang, David Lo 0001, Julia Lawall, Gilles Muller |
PLOS@SOSP | 2 |
| 2012 | ZigZag: A Middleware for Service Discovery in Future Internet
Preston Rodrigues, Yérom-David Bromberg, Laurent Réveillère, Daniel Négru |
DAIS | 3 |
| 2012 | Diagnosys: automatic generation of a debugging interface to the Linux kernelabstractThe Linux kernel does not export a stable, well-defined kernel interface, complicating the development of kernel-level services, such as device drivers and file systems. While there does exist a set of functions that are exported to external modules, this set of functions frequently changes, and the functions have implicit, ill-documented preconditions. No specific debugging support is provided. Tegawendé F. Bissyandé, Laurent Réveillère, Julia Lawall, Gilles Muller |
ASE | 2 |
| 2012 | OverStar: An Open Approach to End-to-End Middleware Services in Systems of Systems
Paul Grace, Yérom-David Bromberg, Laurent Réveillère, Gordon S. Blair |
Middleware | 3 |
| 2011 | Starlink: Runtime Interoperability between Heterogeneous Middleware ProtocolsabstractInteroperability remains a challenging and growing problem within distributed systems. A range of heterogeneous network and middleware protocols which cannot interact with one another are now widely used, for example, the set of remote method invocation protocols, and the set of service discovery protocols. In environments where systems and services are composed dynamically, e.g. pervasive computing and systems-of-systems, the protocols used by two systems wishing to interact is unknown until runtime and hence interoperability cannot be guaranteed. In such situations, dynamic solutions are required to identify the differences between heterogeneous protocols and generate middleware connectors (or bridges) that will allow the systems to inter operate. In this paper, we present the Starlink middleware, a general framework into which runtime generated interoperability logic (in the form of higher level models) can be deployed to connect two heterogeneous protocols. For this, it provides: i) an abstract representation of network messages with a corresponding generic parser and composer, ii) an engine to execute coloured automata that represent the required interoperability behaviour between protocols, and iii) translation logic to describe the exchange of message content from one protocol to another. We show through case-study based evaluation that Starlink can bridge heterogeneous protocol types. Starlink is also compared against base-line protocol benchmarks to show that acceptable performance can still be achieved in spite of the high-level nature of the solution. Yérom-David Bromberg, Paul Grace, Laurent Réveillère |
ICDCS | 3 |
| 2011 | Bridging the Interoperability Gap: Overcoming Combined Application and Middleware Heterogeneity
Yérom-David Bromberg, Paul Grace, Laurent Réveillère, Gordon S. Blair |
Middleware | 3 |
| 2011 | Zebu: A Language-Based Approach for Network Protocol Message ProcessingabstractA network application communicates with other applications according to a set of rules known as a protocol. This communication is managed by the part of the application known as the protocol-handling layer, which enables the manipulation of protocol messages. The protocol-handling layer is a critical component of a network application since it represents the interface between the application and the outside world. It must thus satisfy two constraints: It must be efficient to be able to treat a large number of messages and it must be robust to face various attacks targeting the application itself or the underlying platform. Despite these constraints, the development process of this layer still remains rudimentary and requires a high level of expertise. It includes translating the protocol specification written in a high-level formalism such as ABNF toward low-level code such as C. The gap between these abstraction levels can entail many errors. This paper proposes a new language-based approach to developing protocol-handling layers, to improve their robustness without compromising their performance. Our approach is based on the use of a domain-specific language, Zebu, to specify the protocol-handling layer of network applications that use textual HTTP-like application protocols. The Zebu syntax is very close to that of ABNF, facilitating the adoption of Zebu by domain experts. By annotating the original ABNF specification of a protocol, the Zebu user can dedicate the protocol-handling layer to the needs of a given application. The Zebu compiler first checks the annotated specification for inconsistencies, and then generates a protocol-handling layer according to the annotations. This protocol-handling layer is made up of a set of data structures that represent a message, a parser that fills in these data structures, and various stub functions to access these data structures or drive the parsing of a message. Laurent Burgy, Laurent Réveillère, Julia Lawall, Gilles Muller |
IEEE Trans. Software Eng. | 2 |
| 2010 | UbiPAN: A Bluetooth Extended Personal Area NetworkabstractMost mobile devices are now Bluetooth-enabled. This wireless technology makes it possible to transfer files or stream contents between pieces of equipment. The possibly many devices that are in reach of each other and thus connected constitute a Personal Area Network (PAN). The problem remains that because of radio range setting up such connections is only possible for devices in a limited area. This paper presents the UbiPAN network infrastructure, the goal of which is to overcome this limitation. It relies on the combination of the IP network, SIP and Bluetooth. This original approach thus has been validated through a file exchange scenario between remote devices that have been seamlessly interconnected. Jeremie Albert, Tegawendé F. Bissyandé, Yérom-David Bromberg, Serge Chaumette, Laurent Réveillère |
CISIS | 5 |
| 2010 | Bridging the Gap between Legacy Services and Web Services
Tegawendé F. Bissyandé, Laurent Réveillère, Yérom-David Bromberg, Julia Lawall, Gilles Muller |
Middleware | 2 |
| 2009 | Automatic Generation of Network Protocol Gateways
Yérom-David Bromberg, Laurent Réveillère, Julia Lawall, Gilles Muller |
Middleware | 2 |
| 2007 | A Language-Based Approach for Improving the Robustness of Network Application Protocol ImplementationsabstractThe secure and robust functioning of a network relies on the defect-free implementation of network applications. As network protocols have become increasingly complex, however, hand-writing network message processing code has become increasingly error-prone. In this paper, we present a domain-specific language, Zebu, for generating robust and efficient message processing layers. A Zebu specification, based on the notation used in RFCs, describes protocol message formats and related processing constraints. Zebu-based applications are efficient, since message fragments can be specified to be processed on demand. Zebu-based applications are also robust, as the Zebu compiler automatically checks specification consistency and generates parsing stubs that include validation of the message structure. Using a message torture suite in the context of SIP and RTSP, we show that Zebu-generated code is both complete and defect-free. Laurent Burgy, Laurent Réveillère, Julia Lawall, Gilles Muller |
SRDS | 2 |
| 2006 | Language Technology for Internet-Telephony Service CreationabstractTelephony is evolving at a frantic pace, critically relying on the development of services to offer a host of new functionalities. However, programming Internet telephony services requires an intimate knowledge of a variety of protocols and technologies, which can be a challenge for many programmers. Furthermore, because telephony is a resource heavily relied on, programmability of telephony platforms should not compromise their robustness. This paper presents an approach to creating telephony services that builds on programming language technology (i.e., language design and implementation, language semantics, and program analysis). We have developed a language, named Session Processing Language (SPL), that offers domain-specific constructs, abstracting over the intricacies of the underlying technologies. By design, SPL guarantees critical properties that cannot be verified in general-purpose languages. SPL relies on a Service Logic Execution Environment for SIP (SIP-SLEE) that introduces a design framework for service development based around the notion of session. SPL and SIP-SLEE have been implemented and they are now being used to develop and deploy real services, demonstrating the practical benefits of our approach. Laurent Burgy, Charles Consel, Fabien Latry, Julia Lawall, Nicolas Palix, Laurent Réveillère |
ICC | 6 |
| 2005 | A Generative Programming Approach to Developing DSL Compilers
Charles Consel, Fabien Latry, Laurent Réveillère, Pierre Cointe |
GPCE | 3 |
| 2003 | Spidle: A DSL Approach to Specifying Streaming Applications
Charles Consel, Hédi Hamdi, Laurent Réveillère, Lenin Singaravelu, Calton Pu |
GPCE | 3 |
| 2003 | A Programmable Client-Server Model: Robust Extensibility via DSLsabstractThe client-server model has been successfully used to support a wide variety of families of services in the context of distributed systems. However, its server-centric nature makes it insensitive to fast changing client characteristics like terminal capabilities, network features, user preferences and evolving needs. To overcome these key limitations, we present an approach to enabling a server to adapt to different clients by making it programmable. A service-description language is used to program server adaptations. This language is designed as a domain-specific language to offer expressiveness and conciseness without compromising safety and security. We show that requiring the deployment of new protocols or server implementations. We illustrate our approach with the Internet Message Access Protocol (IMAP). An IMAP server is made programmable and a language, named Pems, is introduced to program robust variations of e-mail services. Our approach is uniformly used to develop a platform for multimedia communication services. This platform is composed of programmable servers for telephony service, e-mail processing, remote-document processing and stream adapters. Charles Consel, Laurent Réveillère |
ASE | 2 |
| 2001 | Improving Driver Robustness: An Evaluation of the Devil ApproachabstractTo keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. We have recently introduced a new approach to improve driver robustness based on an Interface Definition Language, named Devil. Devil allows a high-level definition of the communication of a device. A computer automatically checks the consistency of a Devil specification and generates stubs that include run-time checks. We use mutation analysis to evaluate the improvement in driver robustness offered by Devil. To do so, we have injected programming errors using mutation analyses into Devil based Linux drivers and the original C drivers. We assess how early errors can be caught in the development process, by measuring whether errors are detected either at compile time or at run time. The results of our experiments on the IDE Linux disk driver show that nearly 3 times more errors are detected in the Devil driver than in the original C driver. Laurent Réveillère, Gilles Muller |
DSN | 1 |
| 2000 | A DSL Approach to Improve Productivity and Safety in Device Drivers DevelopmentabstractAlthough new peripheral devices are emerging at a frantic pace and require the fast release of drivers, little progress has been made to improve the development of such device drivers. Too often, this development consists of decoding hardware intricacies, based on inaccurate documentation. Then, assembly-level operations need to be used to interact with the device. These low-level operations reduce the readability of the driver and prevent safety properties from being checked. This paper presents an approach based on domain-specific languages (DSLs) to overcome these problems. We define a language, named Devil (DEVice Interaction Language), dedicated to defining the basic communication with a device. Unlike a general-purpose language, Devil allows a description to be checked for consistency. This not only improves the safety of the interaction with the device but also uncovers bugs early in the development process. To asses our approach, we have shown that Devil is expressive enough to specify a large number of devices. To evaluate productivity and safety improvements over traditional development in C, we report an experiment based on mutation testing. Laurent Réveillère, Fabrice Mérillon, Charles Consel, Renaud Marlet, Gilles Muller |
ASE | 1 |
| 2000 | Devil: An IDL for Hardware Programming
Fabrice Mérillon, Laurent Réveillère, Charles Consel, Renaud Marlet, Gilles Muller |
OSDI | 2 |