VLDB 2026 Research / reviewers in the wild / expert
Xavier Rival
dblp:r/XavierRival
· DBLP profile ↗
44ranked-venue papers
9as first author
7since 2021 · last 2026
0000-0002-2875-6171ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 37 · 8 first-author · 5 since 2021Theory of computation · 4 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 2Systems, architecture and hardware · 2 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Optimising Density Computations in Probabilistic Programs via Automatic Loop VectorisationabstractProbabilistic programming languages (PPLs) are a popular tool for high-level modelling across many fields. They provide a range of algorithms for probabilistic inference, which analyse models by learning their parameters from a dataset or estimating their posterior distributions. However, probabilistic inference is known to be very costly. One of the bottlenecks of probabilistic inference stems from the iteration over entries of a large dataset or a long series of random samples. Vectorisation can mitigate this cost, but manual vectorisation is error-prone, and existing automatic techniques are often ad-hoc and limited, unable to handle general repetition structures, such as nested loops and loops with data-dependent control flow, without significant user intervention. To address this bottleneck, we propose a sound and effective method for automatically vectorising loops in probabilistic programs. Our method achieves high throughput using speculative parallel execution of loop iterations, while preserving the semantics of the original loop through a fixed-point check. We formalise our method as a translation from an imperative PPL into a lower-level target language with primitives geared towards vectorisation. We implemented our method for the Pyro PPL and evaluated it on a range of probabilistic models. Our experiments show significant performance gains against an existing vectorisation baseline, achieving 1.1–6× speedups and reducing GPU memory usage in many cases. Unlike the baseline, which is limited to a subset of models, our method effectively handled all the tested models. Sangho Lim, Hyoungjin Lim, Wonyeol Lee 0001, Xavier Rival, Hongseok Yang |
Proc. ACM Program. Lang. | 4 |
| 2023 | A Product of Shape and Sequence Abstractions
Josselin Giet, Félix Ridoux, Xavier Rival |
SAS | 3 |
| 2023 | Sound Symbolic Execution via Abstract Interpretation and Its Application to Security
Ignacio Tiraboschi, Tamara Rezk, Xavier Rival |
VMCAI | 3 |
| 2023 | Smoothness Analysis for Probabilistic Programs with Application to Optimised Variational InferenceabstractWe present a static analysis for discovering differentiable or more generally smooth parts of a given probabilistic program, and show how the analysis can be used to improve the pathwise gradient estimator, one of the most popular methods for posterior inference and model learning. Our improvement increases the scope of the estimator from differentiable models to non-differentiable ones without requiring manual intervention of the user; the improved estimator automatically identifies differentiable parts of a given probabilistic program using our static analysis, and applies the pathwise gradient estimator to the identified parts while using a more general but less efficient estimator, called score estimator, for the rest of the program. Our analysis has a surprisingly subtle soundness argument, partly due to the misbehaviours of some target smoothness properties when viewed from the perspective of program analysis designers. For instance, some smoothness properties, such as partial differentiability and partial continuity, are not preserved by function composition, and this makes it difficult to analyse sequential composition soundly without heavily sacrificing precision. We formulate five assumptions on a target smoothness property, prove the soundness of our analysis under those assumptions, and show that our leading examples satisfy these assumptions. We also show that by using information from our analysis instantiated for differentiability, our improved gradient estimator satisfies an important differentiability requirement and thus computes the correct estimate on average (i.e., returns an unbiased estimate) under a regularity condition. Our experiments with representative probabilistic programs in the Pyro language show that our static analysis is capable of identifying smooth parts of those programs accurately, and making our improved pathwise gradient estimator exploit all the opportunities for high performance in those programs. Wonyeol Lee 0001, Xavier Rival, Hongseok Yang |
Proc. ACM Program. Lang. | 2 |
| 2022 | Lightweight Shape Analysis Based on Physical Types
Olivier Nicole, Matthieu Lemerre, Xavier Rival |
VMCAI | 3 |
| 2021 | No Crash, No Exploit: Automated Verification of Embedded KernelsabstractThe kernel is the most safety- and security-critical component of many computer systems, as the most severe bugs lead to complete system crash or exploit. It is thus desirable to guarantee that a kernel is free from these bugs using formal methods, but the high cost and expertise required to do so are deterrent to wide applicability. We propose a method that can verify both absence of runtime errors (i.e. crashes) and absence of privilege escalation (i.e. exploits) in embedded kernels from their binary executables. The method can verify the kernel runtime independently from the application, at the expense of only a few lines of simple annotations. When given a specific application, the method can verify simple kernels without any human intervention. We demonstrate our method on two different use cases: we use our tool to help the development of a new embedded realtime kernel, and we verify an existing industrial real-time kernel executable with no modification. Results show that the method is fast, simple to use, and can prevent real errors and security vulnerabilities. Olivier Nicole, Matthieu Lemerre, Sébastien Bardin, Xavier Rival |
RTAS | 4 |
| 2021 | A relational shape abstract domain
Hugo Illous, Matthieu Lemerre, Xavier Rival |
Formal Methods Syst. Des. | 3 |
| 2020 | On Correctness of Automatic Differentiation for Non-Differentiable FunctionsabstractDifferentiation lies at the core of many machine-learning algorithms, and is well-supported by popular autodiff systems, such as TensorFlow and PyTorch. Originally, these systems have been developed to compute derivatives of differentiable functions, but in practice, they are commonly applied to functions with non-differentiabilities. For instance, neural networks using ReLU define non-differentiable functions in general, but the gradients of losses involving those functions are computed using autodiff systems in practice. This status quo raises a natural question: are autodiff systems correct in any formal sense when they are applied to such non-differentiable functions? In this paper, we provide a positive answer to this question. Using counterexamples, we first point out flaws in often-used informal arguments, such as: non-differentiabilities arising in deep learning do not cause any issues because they form a measure-zero set. We then investigate a class of functions, called PAP functions, that includes nearly all (possibly non-differentiable) functions in deep learning nowadays. For these PAP functions, we propose a new type of derivatives, called intensional derivatives, and prove that these derivatives always exist and coincide with standard derivatives for almost all inputs. We also show that these intensional derivatives are what most autodiff systems compute or try to compute essentially. In this way, we formally establish the correctness of autodiff systems applied to non-differentiable functions. Wonyeol Lee 0001, Hangyeol Yu, Xavier Rival, Hongseok Yang |
NeurIPS | 3 |
| 2020 | Interprocedural Shape Analysis Using Separation Logic-Based Transformer Summaries
Hugo Illous, Matthieu Lemerre, Xavier Rival |
SAS | 3 |
| 2020 | Towards verified stochastic variational inference for probabilistic programsabstractProbabilistic programming is the idea of writing models from statistics and machine learning using program notations and reasoning about these models using generic inference engines. Recently its combination with deep learning has been explored intensely, which led to the development of so called deep probabilistic programming languages, such as Pyro, Edward and ProbTorch. At the core of this development lie inference engines based on stochastic variational inference algorithms. When asked to find information about the posterior distribution of a model written in such a language, these algorithms convert this posterior-inference query into an optimisation problem and solve it approximately by a form of gradient ascent or descent. In this paper, we analyse one of the most fundamental and versatile variational inference algorithms, called score estimator or REINFORCE, using tools from denotational semantics and program analysis. We formally express what this algorithm does on models denoted by programs, and expose implicit assumptions made by the algorithm on the models. The violation of these assumptions may lead to an undefined optimisation objective or the loss of convergence guarantee of the optimisation process. We then describe rules for proving these assumptions, which can be automated by static program analyses. Some of our rules use nontrivial facts from continuous mathematics, and let us replace requirements about integrals in the assumptions, such as integrability of functions defined in terms of programs' denotations, by conditions involving differentiation or boundedness, which are much easier to prove automatically (and manually). Following our general methodology, we have developed a static program analysis for the Pyro programming language that aims at discharging the assumption about what we call model-guide support match. Our analysis is applied to the eight representative model-guide pairs from the Pyro webpage, which include sophisticated neural network models such as AIR. It finds a bug in one of these cases, reveals a non-standard use of an inference engine in another, and shows that the assumptions are met in the remaining six cases. Wonyeol Lee 0001, Hangyeol Yu, Xavier Rival, Hongseok Yang |
Proc. ACM Program. Lang. | 3 |
| 2019 | Weakly sensitive analysis for JavaScript object-manipulating programsabstractSummary While JavaScript programs have become pervasive in web applications, they remain hard to reason about. In this context, most static analyses for JavaScript programs require precise call graph information, since the presence of large numbers of spurious callees significantly deteriorates precision. One of the most challenging JavaScript features that complicate the inference of precise static call graph information is read/write accesses to object fields, the names of which are computed at runtime. JavaScript framework libraries often exploit this facility to build objects from other objects, as a way to simulate sophisticated high‐level programming constructions. Such code patterns are difficult to analyze precisely, due to weak updates and limitations of unrolling techniques. In this paper, we observe that precise field origination relations can be inferred by locally reasoning about object copies, both regarding to the object and to the program structure, and we propose an abstraction that allows to separately reason about field read/write access patterns working on different fields and to carefully handle the sets of JavaScript object fields. We formalize and implement an analysis based on this technique. We evaluate the performance and precision of the analysis on the computation of call graph information for examples from jQuery tutorials. Yoonseok Ko, Xavier Rival, Sukyoung Ryu |
Softw. Pract. Exp. | 2 |
| 2018 | Foreword
Xavier Rival |
Formal Methods Syst. Des. | 1 |
| 2018 | Automatic Verification of Embedded System Code Manipulating Dynamic Structures Stored in Contiguous RegionsabstractUser-space programs rely on memory allocation primitives when they need to construct dynamic structures such as lists or trees. However, low-level OS kernel services and embedded device drivers typically avoid resorting to an external memory allocator in such cases, and store structure elements in contiguous arrays instead. This programming pattern leads to very complex code, based on data-structures that can be viewed and accessed either as arrays or as chained dynamic structures. The code correctness then depends on intricate invariants mixing both aspects. We propose a static analysis that is able to verify such programs. It relies on the combination of abstractions of the allocator array and of the dynamic structures built inside it. This approach allows to integrate program reasoning steps inherent in the array and in the chained structure into a single abstract interpretation. We report on the successful verification of several embedded OS kernel services and drivers. Jiangchao Liu, Liqian Chen, Xavier Rival |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 3 |
| 2018 | A Theoretical Foundation of Sensitivity in an Abstract Interpretation FrameworkabstractProgram analyses often utilize various forms of sensitivity such as context sensitivity, call-site sensitivity, and object sensitivity. These techniques all allow for more precise program analyses, that are able to compute more precise program invariants, and to verify stronger properties. Despite the fact that sensitivity techniques are now part of the standard toolkit of static analyses designers and implementers, no comprehensive frameworks allow the description of all common forms of sensitivity. As a consequence, the soundness proofs of static analysis tools involving sensitivity often rely on ad hoc formalization, which are not always carried out in an abstract interpretation framework. Moreover, this also means that opportunities to identify similarities between analysis techniques to better improve abstractions or to tune static analysis tools can easily be missed. In this article, we present and formalize a framework for the description of sensitivity in static analysis . Our framework is based on a powerful abstract domain construction, and utilizes reduced cardinal power to tie basic abstract predicates to the properties analyses are sensitive to. We formalize this abstraction, and the main abstract operations that are needed to turn it into a generic abstract domain construction. We demonstrate that our approach can allow for a more precise description of program states, and that it can also describe a large set of sensitivity techniques, both when sensitivity criteria are static (known before the analysis) or dynamic (inferred as part of the analysis), and sensitive analysis tuning parameters. Last, we show that sensitivity techniques used in state-of-the-art static analysis tools can be described in our framework. Se-Won Kim, Xavier Rival, Sukyoung Ryu |
ACM Trans. Program. Lang. Syst. | 2 |
| 2017 | Weakly Sensitive Analysis for Unbounded Iteration over JavaScript Objects
Yoonseok Ko, Xavier Rival, Sukyoung Ryu |
APLAS | 2 |
| 2017 | Semantic-directed clumping of disjunctive abstract statesabstractTo infer complex structural invariants, shape analyses rely on expressive families of logical properties. Many such analyses manipulate abstract memory states that consist of separating conjunctions of basic predicates describing atomic blocks or summaries. Moreover, they use finite disjunctions of abstract memory states in order to account for dissimilar shapes. Disjunctions should be kept small for the sake of scalability, though precision often requires to keep additional case splits. In this context, deciding when and how to merge case splits and to replace them with summaries is critical both for the precision and for the efficiency. Existing techniques use sets of syntactic rules, which are tedious to design and prone to failure. In this paper, we design a semantic criterion to clump abstract states based on their silhouette which applies not only to the conservative union of disjuncts, but also to the weakening of separating conjunction of memory predicates into inductive summaries. Our approach allows to define union and widening operators that aim at preserving the case splits that are required for the analysis to succeed. We implement this approach in the MemCAD analyzer, and evaluate it on real-world C codes from existing libraries, including programs dealing with doubly linked lists, red-black trees and AVL-trees. Huisong Li, Francois Berenger, Bor-Yuh Evan Chang, Xavier Rival |
POPL | 4 |
| 2017 | An array content static analysis based on non-contiguous partitions
Jiangchao Liu, Xavier Rival |
Comput. Lang. Syst. Struct. | 2 |
| 2015 | Abstraction of Optional Numerical Values
Jiangchao Liu, Xavier Rival |
APLAS | 2 |
| 2015 | Static Analysis of Spreadsheet Applications for Type-Unsafe Operations Detection
Tie Cheng, Xavier Rival |
ESOP | 2 |
| 2015 | Desynchronized Multi-State Abstractions for Open Programs in Dynamic Languages
Arlen Cox, Bor-Yuh Evan Chang, Xavier Rival |
ESOP | 3 |
| 2015 | Abstract Domains and Solvers for Sets Reasoning
Arlen Cox, Bor-Yuh Evan Chang, Huisong Li, Xavier Rival |
LPAR | 4 |
| 2015 | Shape Analysis for Unstructured Sharing
Huisong Li, Xavier Rival, Bor-Yuh Evan Chang |
SAS | 2 |
| 2015 | Abstraction of Arrays Based on Non Contiguous Partitions
Jiangchao Liu, Xavier Rival |
VMCAI | 2 |
| 2014 | Construction of Abstract Domains for Heterogeneous Properties (Position Paper)
Xavier Rival, Antoine Toubhans, Bor-Yuh Evan Chang |
ISoLA (2) | 1 |
| 2014 | Automatic Analysis of Open Objects in Dynamic Language Programs
Arlen Cox, Bor-Yuh Evan Chang, Xavier Rival |
SAS | 3 |
| 2014 | An Abstract Domain Combinator for Separately Conjoining Memory Abstractions
Antoine Toubhans, Bor-Yuh Evan Chang, Xavier Rival |
SAS | 3 |
| 2013 | Reduced Product Combination of Abstract Domains for Shapes
Antoine Toubhans, Bor-Yuh Evan Chang, Xavier Rival |
VMCAI | 3 |
| 2012 | Hierarchical Shape Abstraction of Dynamic Structures in Static Blocks
Pascal Sotin, Xavier Rival |
APLAS | 2 |
| 2012 | An Abstract Domain to Infer Types over Zones in Spreadsheets
Tie Cheng, Xavier Rival |
SAS | 2 |
| 2011 | Calling context abstraction with shapesabstractInterprocedural program analysis is often performed by computing procedure summaries. While possible, computing adequate summaries is difficult, particularly in the presence of recursive procedures. In this paper, we propose a complementary framework for interprocedural analysis based on a direct abstraction of the calling context. Specifically, our approach exploits the inductive structure of a calling context by treating it directly as a stack of activation records. We then build an abstraction based on separation logic with inductive definitions. A key element of this abstract domain is the use of parameters to refine the meaning of such call stack summaries and thus express relations across activation records and with the heap. In essence, we define an abstract interpretation-based analysis framework for recursive programs that permits a fluid per call site abstraction of the call stack--much like how shape analyzers enable a fluid per program point abstraction of the heap. Xavier Rival, Bor-Yuh Evan Chang |
POPL | 1 |
| 2010 | Separating Shape Graphs
Vincent Laviron, Bor-Yuh Evan Chang, Xavier Rival |
ESOP | 3 |
| 2009 | Why does Astrée scale up?
Patrick Cousot, Radhia Cousot, Jérôme Feret, Laurent Mauborgne, Antoine Miné, Xavier Rival |
Formal Methods Syst. Des. | 6 |
| 2008 | Relational inductive shape analysisabstractShape analyses are concerned with precise abstractions of the heap to capture detailed structural properties. To do so, they need to build and decompose summaries of disjoint memory regions. Unfortunately, many data structure invariants require relations be tracked across disjoint regions, such as intricate numerical data invariants or structural invariants concerning back and cross pointers. In this paper, we identify issues inherent to analyzing relational structures and design an abstract domain that is parameterized both by an abstract domain for pure data properties and by user-supplied specifications of the data structure invariants to check. Particularly, it supports hybrid invariants about shape and data and features a generic mechanism for materializing summaries at the beginning, middle, or end of inductive structures. Around this domain, we build a shape analysis whose interesting components include a pre-analysis on the user-supplied specifications that guides the abstract interpretation and a widening operator over the combined shape and data domain. We then demonstrate our techniques on the proof of preservation of the red-black tree invariants during insertion. Bor-Yuh Evan Chang, Xavier Rival |
POPL | 2 |
| 2007 | Shape Analysis with Structural Invariant Checkers
Bor-Yuh Evan Chang, Xavier Rival, George C. Necula |
SAS | 2 |
| 2007 | Varieties of Static Analyzers: A Comparison with ASTREEabstractWe discuss the characteristic properties of ASTREE, an automatic static analyzer for proving the absence of runtime errors in safety-critical real-time synchronous control command C programs, and compare it with a variety of other program analysis tools. Patrick Cousot, Radhia Cousot, Jérôme Feret, Antoine Miné, Laurent Mauborgne, David Monniaux, Xavier Rival |
TASE | 7 |
| 2007 | The trace partitioning abstract domainabstractIn order to achieve better precision of abstract interpretation-based static analysis, we introduce a new generic abstract domain, the trace partitioning abstract domain. We develop a theoretical framework allowing a wide range of instantiations of the domain, proving that all these instantiations give correct results. From this theoretical framework, we go into implementation details of a particular instance developed in the Astrée static analyzer. We show how the domain is automatically configured in Astrée and the gain and cost in terms of performance and precision. Xavier Rival, Laurent Mauborgne |
ACM Trans. Program. Lang. Syst. | 1 |
| 2005 | Abstract Dependences for Alarm Diagnosis
Xavier Rival |
APLAS | 1 |
| 2005 | The ASTREÉ Analyzer
Patrick Cousot, Radhia Cousot, Jérôme Feret, Laurent Mauborgne, Antoine Miné, David Monniaux, Xavier Rival |
ESOP | 7 |
| 2005 | Trace Partitioning in Abstract Interpretation Based Static Analyzers
Laurent Mauborgne, Xavier Rival |
ESOP | 2 |
| 2005 | Understanding the Origin of Alarms in Astrée
Xavier Rival |
SAS | 1 |
| 2004 | Symbolic transfer function-based approaches to certified compilationabstractWe present a framework for the certification of compilation and of compiled programs. Our approach uses a symbolic transfer functions-based representation of programs, so as to check that source and compiled programs present similar behaviors. This checking can be done either for a concrete semantic interpretation (Translation Validation) or for an abstract semantic interpretation (Invariant Translation) of the symbolic transfer functions. We propose to design a checking procedure at the concrete level in order to validate both the transformation and the translation of abstract invariants. The use of symbolic transfer functions makes possible a better treatment of compiler optimizations and is adapted to the checking of precise invariants at the assembly level. The approach proved successful in the implementation point of view, since it rendered the translation of very precise invariants on very large assembly programs feasible. Xavier Rival |
POPL | 1 |
| 2004 | Certification of compiled assembly code by invariant translation
Xavier Rival |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2003 | A static analyzer for large safety-critical softwareabstractWe show that abstract interpretation-based static program analysis can be made efficient and precise enough to formally verify a class of properties for a family of large programs with few or no false alarms. This is achieved by refinement of a general purpose static analyzer and later adaptation to particular programs of the family by the end-user through parametrization. This is applied to the proof of soundness of data manipulation operations at the machine level for periodic synchronous safety critical embedded software.The main novelties are the design principle of static analyzers by refinement and adaptation through parametrization (Sect. 3 and 7), the symbolic manipulation of expressions to improve the precision of abstract transfer functions (Sect. 6.3), the octagon (Sect. 6.2.2), ellipsoid (Sect. 6.2.3), and decision tree (Sect. 6.2.4) abstract domains, all with sound handling of rounding errors in oating point computations, widening strategies (with thresholds: Sect. 7.1.2, delayed: Sect. 7.1.3) and the automatic determination of the parameters (parametrized packing: Sect. 7.2). Bruno Blanchet, Patrick Cousot, Radhia Cousot, Jérôme Feret, Laurent Mauborgne, Antoine Miné, David Monniaux, Xavier Rival |
PLDI | 8 |
| 2003 | Abstract Interpretation-Based Certification of Assembly Code
Xavier Rival |
VMCAI | 1 |