,
Raphaël Monat
,
Sebastian Erdweg
Creative Commons Attribution 4.0 International license
07372d6788f8ce57bdfd06f13189c6f3
(Get MD5 Sum)
The artifact has been evaluated as described in the ECOOP 2026 Call for Artifacts and the ACM Artifact Review and Badging Policy.
Abstract interpreters enable sound static analysis, but are hard to develop. In recent years, researchers have proposed a component-based approach to developing abstract interpreters, where different parts of the abstract domain (e.g., numeric, call frame, heap) are handled by isolated components. This works well as long as components do not share or expose their internal state: Any state update that is locally sound is also globally sound. However, some abstract domains require shared state, most prominently relational abstract domains, which use symbolic expressions such as 2x + 5 to represent abstract values. As the relational component performs a strong update of x, the abstract value 2x + 5 can change non-monotonically, which breaks soundness. We propose a novel solution to this problem: A virtual recency abstractions that decouples the relational component, supports strong updates, and allows recursion. We prove that the virtual recency abstraction restores soundness: Any shared state wrapped in our virtual recency abstraction may be locally updated non-monotonically, while global soundness persists. We applied our approach to develop the first relational WebAssembly analysis, reusing many components from an existing inter-procedural abstract interpreter. Furthermore, we evaluate the recall, precision, and scalibility of this analysis to demonstrate the practicality of the virtual recency abstraction.
@Article{keidel_et_al:DARTS.12.1.3,
author = {Keidel, Sven and Monat, Rapha\"{e}l and Erdweg, Sebastian},
title = {{The Virtual Recency Abstraction (Artifact)}},
pages = {3:1--3:5},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2026},
volume = {12},
number = {1},
editor = {Keidel, Sven and Monat, Rapha\"{e}l and Erdweg, Sebastian},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.12.1.3},
URN = {urn:nbn:de:0030-drops-261405},
doi = {10.4230/DARTS.12.1.3},
annote = {Keywords: Relational Numerical Analysis, Recency Abstraction}
}