Demo Data from EDBT 2026 / reviewers in the wild / expert
Hugo Pompougnac
dblp:319/3030
· DBLP profile ↗
3ranked-venue papers
1as first author
3since 2021 · last 2025
0000-0001-8711-9976ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 1 first-author · 2 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021
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 |
Compilers and program optimization · 74% Software testing · 16% Program analysis · 10% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Embedded and real-time systems · 50% Performance modeling and evaluation · 38% Processor architecture and microarchitecture · 12% |
Topics — the 11 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
intermediate representation |
1.4 | 2 | 2025 | First-Class Verification Dialects for MLIR · Proc. ACM Program. Lang. 2025 Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022 |
Compilers and program optimization
dependence analysis |
0.9 | 1 | 2025 | CesASMe and Staticdeps: static detection of memory-carried dependencies for code analyzers · ACM Trans. Archit. Code Optim. 2025 |
Software testing › compiler testing
miscompilation detection |
0.9 | 1 | 2025 | First-Class Verification Dialects for MLIR · Proc. ACM Program. Lang. 2025 |
Compilers and program optimization
verified compilation |
0.9 | 1 | 2025 | First-Class Verification Dialects for MLIR · Proc. ACM Program. Lang. 2025 |
Performance modeling and evaluation
simulation |
0.9 | 1 | 2025 | CesASMe and Staticdeps: static detection of memory-carried dependencies for code analyzers · ACM Trans. Archit. Code Optim. 2025 |
Compilers and program optimization › intermediate representation
static single assignment form |
0.6 | 1 | 2022 | Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022 |
Embedded and real-time systems
reactive systems |
0.6 | 1 | 2022 | Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022 |
Embedded and real-time systems
synchronous programming |
0.6 | 1 | 2022 | Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022 |
Program analysis › data flow analysis
bit-vector analysis |
0.3 | 1 | 2025 | First-Class Verification Dialects for MLIR · Proc. ACM Program. Lang. 2025 |
Program analysis
data flow analysis |
0.3 | 1 | 2025 | First-Class Verification Dialects for MLIR · Proc. ACM Program. Lang. 2025 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.3 | 1 | 2025 | CesASMe and Staticdeps: static detection of memory-carried dependencies for code analyzers · ACM Trans. Archit. Code Optim. 2025 |
Methods — techniques the papers use, named apart from their topics
static analysis · 2.9benchmark derivation · 1.7code generation · 1.1formal semantics · 0.9SMT solving · 0.9
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | First-Class Verification Dialects for MLIRabstractMLIR is a toolkit supporting the development of extensible and composable intermediate representations (IRs) called dialects ; it was created in response to rapid changes in hardware platforms, programming languages, and application domains such as machine learning. MLIR supports development teams creating compilers and compiler-adjacent tools by factoring out common infrastructure such as parsers and printers. A major limitation of MLIR is that it is syntax-focused: it has no support for directly encoding the semantics of operations in its dialects. Thus, at present, the parts of MLIR tools that depend on semantics—optimizers, analyzers, verifiers, transformers—must all be engineered by hand. Our work makes formal semantics a first-class citizen in the MLIR ecosystem. We designed and implemented a collection of semantics-supporting MLIR dialects for encoding the semantics of compiler IRs. These dialects support a separation of concerns between three domains of expertise when building formal-methods-based tooling for compilers. First, compiler developers define their dialect’s semantics as a lowering (compilation transformation) from their dialect to one or more of ours. Second, SMT solver experts provide tools to optimize domain-specific high-level semantics and lower them to SMT queries. Third, tool builders create dialect-independent verification tools. We validate our work by defining semantics for five key MLIR dialects, defining a state-of-the-art SMT encoding for memory-based semantics, and building three dialect-agnostic tools, which we used to find five miscompilation bugs in upstream MLIR, verify a canonicalization pass, and also formally verify transfer functions for two dataflow analyses: “known bits” (that finds individual bits that are always zero or one in all executions) and “demanded bits” (that finds don't-care bits). The transfer functions that we verify are improved versions of those in upstream MLIR; they detect on average 36.6% more known bits in real-world MLIR programs compared to the upstream implementation. Mathieu Fehr, Yuyou Fan, Hugo Pompougnac, John Regehr, Tobias Grosser |
Proc. ACM Program. Lang. | 3 |
| 2025 | CesASMe and Staticdeps: static detection of memory-carried dependencies for code analyzersabstractA variety of code analyzers, such as IACA , uiCA , llvm-mca , or Ithemal , strive to statically predict the throughput of a computation kernel. Each analyzer is based on its own simplified CPU model reasoning at the scale of a basic block. Facing this diversity, evaluating their strengths and weaknesses is important to guide both their usage and their enhancement. We present CesASMe , a fully-tooled solution to evaluate code analyzers on C-level benchmarks composed of a benchmark derivation procedure that feeds an evaluation harness. We conclude that memory-carried data dependencies are a major source of imprecision for these tools. We tackle this issue with staticdeps , a static analyzer extracting memory-carried data dependencies, including across loop iterations, from an assembly basic block. We integrate its output to uiCA , a state-of-the-art code analyzer, to evaluate staticdeps ’ impact on a code analyzer’s precision through CesASMe . Théophile Bastian, Hugo Pompougnac, Alban Dutilleul, Fabrice Rastello |
ACM Trans. Archit. Code Optim. | 2 |
| 2022 | Weaving Synchronous Reactions into the Fabric of SSA-form CompilersabstractWe investigate the programming of reactive systems combining closed-loop control with performance-intensive components such as Machine Learning (ML). Reactive control systems are often safety-critical and associated with real-time execution requirements, a domain of predilection for synchronous programming languages. Extending the high levels of assurance found in reactive control systems to computationally intensive code remains an open issue. We tackle it by unifying concepts and algorithms from synchronous languages with abstractions commonly found in general-purpose and ML compilers. This unification across embedded and high-performance computing enables a high degree of reuse of compiler abstractions and code. We first recall commonalities between dataflow synchronous languages and the static single assignment (SSA) form of general-purpose/ML compilers. We highlight the key mechanisms of synchronous languages that SSA does not cover—denotational concepts such as synchronizing computations with an external time base, cyclic and reactive I/O, as well as the operational notions of relaxing control flow dominance and the modeling of absent values. We discover that initialization-related static analyses and code generation aspects can be fully decoupled from other aspects of synchronous semantics such as memory management and causality analysis, the latter being covered by existing dominance-based algorithms of SSA-form compilers. We show how the SSA form can be seamlessly extended to enable all SSA-based transformations and optimizations on reactive programs with synchronous concurrency. We derive a compilation flow suitable for both high-performance and reactive aspects of a control application, by embedding the Lustre dataflow synchronous language into the SSA-based MLIR/LLVM compiler infrastructure. This allows the modeling of signal processing and deep neural network inference in the (closed) loop of feedback-directed control systems. With only minor efforts leveraging the MLIR infrastructure, the generated code matches or outperforms state-of-the-art synchronous language compilers on computationally intensive ML applications. Hugo Pompougnac, Ulysse Beaugnon, Albert Cohen 0001, Dumitru Potop-Butucaru |
ACM Trans. Archit. Code Optim. | 1 |