VLDB 2026 Research / reviewers in the wild / expert
Julien Brunel
dblp:75/6016
· DBLP profile ↗
18ranked-venue papers
4as first author
6since 2021 · last 2024
0009-0004-3639-6681ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 4 first-author · 4 since 2021Theory of computation · 7 · 2 first-author · 4 since 2021Artificial intelligence and machine learning · 2 · 1 since 2021Systems, architecture and hardware · 1Security and privacy · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Simple LTL Model Checking on Finite and Infinite Traces over Concrete Domains
David Doose, Julien Brunel |
ICFEM | 2 |
| 2023 | Adding Records to Alloy
Julien Brunel, David Chemouil, Alcino Cunha, Nuno Macedo 0001 |
ABZ | 1 |
| 2023 | Verifying Temporal Relational Models with Pardinus
Nuno Macedo 0001, Julien Brunel, David Chemouil, Alcino Cunha |
ABZ | 2 |
| 2022 | Pardinus: A Temporal Relational Model Finder
Nuno Macedo 0001, Julien Brunel, David Chemouil, Alcino Cunha |
J. Autom. Reason. | 2 |
| 2021 | Sound Verification Procedures for Temporal Properties of Infinite-State SystemsabstractAbstract First-Order Linear Temporal Logic (FOLTL) is particularly convenient to specify distributed systems, in particular because of the unbounded aspect of their state space. We have recently exhibited novel decidable fragments of FOLTL which pave the way for tractable verification. However, these fragments are not expressive enough for realistic specifications. In this paper, we propose three transformations to translate a typical FOLTL specification into two of its decidable fragments. All three transformations are proved sound (the associated propositions are proved in Coq) and have a high degree of automation. To put these techniques into practice, we propose a specification language relying on FOLTL, as well as a prototype which performs the verification, relying on existing model checkers. This approach allows us to successfully verify safety and liveness properties for various specifications of distributed systems from the literature. Quentin Peyras, Jean-Paul Bodeveix, Julien Brunel, David Chemouil |
CAV (2) | 3 |
| 2021 | A decidable and expressive fragment of Many-Sorted First-Order Linear Temporal Logic
Quentin Peyras, Julien Brunel, David Chemouil |
Inf. Comput. | 2 |
| 2020 | On How to Identify Cache Coherence: Case of the NXP QorIQ T4240abstractArchitectures used in safety critical systems have to pass certain certification standards, which require sufficient proof that they will behave as expected. Multi-core processors make this challenging by featuring complex interactions between the tasks they run. A lot of these interactions are made without explicit instructions from the program designers. Furthermore, they can have strong negative impacts on performance (and potentially affect correctness). One important such source of interactions is cache coherence, which speeds up operations in most cases, but can also lead to unexpected variations in execution time if not fully understood. Architecture documentations often lack details on the implementation of cache coherence. We thus propose a strategy to ascertain that the platform does indeed implement the cache coherence protocol its user believes it to. We also apply this strategy to the NXP QorIQ T4240, resulting in the identification of a protocol (MESIF) other than the one this architecture’s documentation led us to believe it was using (MESI). Nathanaël Sensfelder, Julien Brunel, Claire Pagetti |
ECRTS | 2 |
| 2019 | Modeling Cache Coherence to Expose InterferenceabstractTasks in modern multi-core real-time systems share data and communicate among each other. Nonetheless, the majority of published research in real-time systems either assumes that tasks do not share data or prohibits data sharing by design. Only recently, some works investigated solutions to address this limitation and enable data sharing; however, we find these works to suffer from severe limitations. In particular, approaches that bypass private caches to avoid coherence interference altogether suffer from significant average-case performance degradation. On the other hand, proposed predictable cache coherence protocols increase the worst-case memory latency (WCL) quadratically due to coherence interference. In this paper, by carefully analyzing the scenarios that lead to high coherence interference, we make the following observation. A protocol that distinguishes between non-modifying (read) and modifying (write) memory accesses is key towards reducing the effects of coherence interference on WCL. Accordingly, we propose DISCO, a discriminative coherence solution that capitalizes on this observation to balance average-case performance and WCL. This is achieved by disallowing modified data in private caches, and hence, the significant coherence delays resulting from them are avoided. In addition, DISCO achieves high average performance by allowing tasks to simultaneously read shared data in the private caches. Moreover, if the system supports the distinction between private and shared data, DISCO further improves average performance by allowing for the caching of private data in cores' private caches regardless of whether it is modified or not. Our evaluation shows that DISCO achieves 7.2× lower latency bounds compared to the state-of-the-art predictable coherence protocol. DISCO also achieves up to 11.4× (5.3× on average) better performance than private cache bypassing for the SPLASH-3 benchmarks. Nathanaël Sensfelder, Julien Brunel, Claire Pagetti |
ECRTS | 2 |
| 2019 | Mechanically Verifying the Fundamental Liveness Property of the Chord Protocol
Jean-Paul Bodeveix, Julien Brunel, David Chemouil, Mamoun Filali |
FM | 2 |
| 2019 | A Bounded Domain Property for an Expressive Fragment of First-Order Linear Temporal LogicabstractFirst-Order Linear Temporal Logic (FOLTL) is well-suited to specify infinite-state systems. However, FOLTL satisfiability is not even semi-decidable, thus preventing automated verification. To address this, a possible track is to constrain specifications to a decidable fragment of FOLTL, but known fragments are too restricted to be usable in practice. In this paper, we exhibit various fragments of increasing scope that provide a pertinent basis for abstract specification of infinite-state systems. We show that these fragments enjoy the Bounded Domain Property (any satisfiable FOLTL formula has a model with a finite, bounded FO domain), which provides a basis for complete, automated verification by reduction to LTL satisfiability. Finally, we present a simple case study illustrating the applicability and limitations of our results. Quentin Peyras, Julien Brunel, David Chemouil |
TIME | 2 |
| 2018 | Analyzing the Fundamental Liveness Property of the Chord ProtocolabstractChord is a protocol that provides a scalable distributed hash table over an underlying peer-to-peer network. Since it combines data structures, asynchronous communications, concurrency, and fault tolerance, it features rich structural and temporal properties that make it an interesting target for formal specification and verification. Previous work has mainly focused on automatic proofs of safety properties or manual proofs of the full correctness of the protocol (a liveness property). In this paper, we report on analyzing automatically the correctness of Chord with the Electrum language (developed in former work) on small instance of networks. In particular, we were able to find various corner cases in previous work and showed that the protocol was not correct as described there. We fixed all these issues and provided a version of protocol for which we were not able to find any counterexample using our method. Julien Brunel, David Chemouil, Jeanne Tawa |
FMCAD | 1 |
| 2018 | The electrum analyzer: model checking relational first-order temporal specificationsabstractThis paper presents the Electrum Analyzer, a free-software tool to validate and perform model checking of Electrum specifications. Electrum is an extension of Alloy that enriches its relational logic with LTL operators, thus simplifying the specification of dynamic systems. The Analyzer supports both automatic bounded model checking, with an encoding into SAT, and unbounded model checking, with an encoding into SMV. Instance, or counter-example, traces are presented back to the user in a unified visualizer. Features to speed up model checking are offered, including a decomposed parallel solving strategy and the extraction of symbolic bounds. Julien Brunel, David Chemouil, Alcino Cunha, Nuno Macedo 0001 |
ASE | 1 |
| 2016 | On Finite Domains in First-Order Linear Temporal Logic
Denis Kuperberg, Julien Brunel, David Chemouil |
ATVA | 2 |
| 2016 | Lightweight specification and analysis of dynamic systems with rich configurationsabstractModel-checking is increasingly popular in the early phases of the software development process. To establish the correctness of a software design one must usually verify both structural and behavioral (or temporal) properties. Unfortunately, most specification languages, and accompanying model-checkers, excel only in analyzing either one or the other kind. This limits their ability to verify dynamic systems with rich configurations: systems whose state space is characterized by rich structural properties, but whose evolution is also expected to satisfy certain temporal properties. Nuno Macedo 0001, Julien Brunel, David Chemouil, Alcino Cunha, Denis Kuperberg |
SIGSOFT FSE | 2 |
| 2015 | A logic with revocable and refinable strategies
Christophe Chareton, Julien Brunel, David Chemouil |
Inf. Comput. | 2 |
| 2013 | WYSIWIB: exploiting fine-grained program structure in a scriptable API-usage protocol-finding processabstractSUMMARY Bug‐finding tools rely on specifications of what is correct or incorrect code. As it is difficult for a tool developer or user to anticipate all possible specifications, strategies for inferring specifications have been proposed. These strategies obtain probable specifications by observing common characteristics of code or execution traces, typically focusing on sequences of function calls. To counter the observed high rate of false positives, heuristics have been proposed for ranking or pruning the results. These heuristics, however, can result in false negatives, especially for rarely used functions. In this paper, we propose an alternate approach to specification inference, in which the user guides the inference process using patterns of code that reflect the user's understanding of the conventions and design of the targeted software project. We focus on specifications describing the correct usage of API functions, which we refer to as API protocols. Our approach builds on the Coccinelle program matching and transformation tool, which allows a user to construct patterns that reflect the structure of the code to be matched. We evaluate our approach on the source code of the Linux kernel, which defines a very large number of API functions with varying properties. Linux is also critical software, implying that fixing even bugs involving rarely used protocols is essential. In our experiments, we use our approach to find over 3000 potential API protocols, with an estimated false positive rate of under 15% and use these protocols to find over 360 bugs in the use of API functions. Copyright © 2012 John Wiley & Sons, Ltd. Julia Lawall, Julien Brunel, Nicolas Palix, René Rydhof Hansen, Henrik Stuart, Gilles Muller |
Softw. Pract. Exp. | 2 |
| 2009 | WYSIWIB: A declarative approach to finding API protocols and bugs in Linux codeabstractEliminating OS bugs is essential to ensuring the reliability of infrastructures ranging from embedded systems to servers. Several tools based on static analysis have been proposed for finding bugs in OS code. They have, however, emphasized scalability over usability, making it difficult to focus the tools on specific kinds of bugs and to relate the results to patterns in the source code. We propose a declarative approach to bug finding in Linux OS code using a control-flow based program search engine. Our approach is WYSIWIB (What You See Is Where It Bugs), since the programmer expresses specifications for bug finding using a syntax close to that of ordinary C code. The key advantage of our approach is that search specifications can be easily tailored, to eliminate false positives or catch more bugs. We present three case studies that have allowed us to find hundreds of potential bugs. Julia Lawall, Julien Brunel, Nicolas Palix, René Rydhof Hansen, Henrik Stuart, Gilles Muller |
DSN | 2 |
| 2009 | A foundation for flow-based program matching: using temporal logic and model checkingabstractReasoning about program control-flow paths is an important functionality of a number of recent program matching languages and associated searching and transformation tools. Temporal logic provides a well-defined means of expressing properties of control-flow paths in programs, and indeed an extension of the temporal logic CTL has been applied to the problem of specifying and verifying the transformations commonly performed by optimizing compilers. Nevertheless, in developing the Coccinelle program transformation tool for performing Linux collateral evolutions in systems code, we have found that existing variants of CTL do not adequately support rules that transform subterms other than the ones matching an entire formula. Being able to transform any of the subterms of a matched term seems essential in the domain targeted by Coccinelle. Julien Brunel, Damien Doligez, René Rydhof Hansen, Julia Lawall, Gilles Muller |
POPL | 1 |