WORK
We present a parametric abstract domain for R vectors that captures vector lengths, element values, and attributes, implemented on top of the flowR static analysis framework.
NSAD 2026 (to appear)
Abstract
R is a dynamically typed, vector-oriented language widely used for data analysis. Its vector semantics, including automatic type coercion, recycling, and flexible selection, are pervasive, non-trivial, and deeply intertwined with the semantics of virtually every R operation. We present a parametric abstract domain for R vectors, defined over μR, a core calculus designed to capture the important vector operations in R. An abstract vector simultaneously captures the possible lengths of the vector, the values of its elements, and its potential attributes. We define abstract operators for all μR operations, equip the domain with a widening operator to ensure termination, and implement it on top of flowR, a static analysis framework for R, evaluating it on a suite of 61 handcrafted programs covering six categories of vector operations.