Incremental Transitive Closure for Zonal Abstract Domain
The Zonal numerical domain is an efficient, weakly-relational abstract domain in static analysis by abstract interpretation. Compared to the Interval domain, the Zonal domain is capable of discovering weak relations between two program variables. To reason about Zonal states, it is imperative that they are transformed into a canonical closed form. This task is accomplished through the transitive closure operation commonly implemented as the all-pairs shortest path algorithm, with O(n3) complexity, where n is the number of program variables.
In this work, we explore the closed form of Zonal states in the context of a data-flow analysis framework. Also, we present an incremental transitive closure algorithm that preserves a closed form of an updated Zonal state. The algorithm reduces the overall analysis complexity to O(n3). We evaluate our approach by performing intra-procedural Zonal analysis on 63 real-world programs. The results show an improvement in runtime, especially on large programs. For example, an hour-long analyzer run with the traditional Zonal implementation has been reduced to a minute with the proposed incremental Zonal variant.
Ballou, Kenny and Sherman, Elena. (2022). "Incremental Transitive Closure for Zonal Abstract Domain". In J.V. Deshmukh, K. Havelund, and I. Perez (eds.), NFM 2022: NASA Formal Methods, (pp. 800-808). Lecture Notes in Computer Science series, vol. 13260. Springer. https://doi.org/10.1007/978-3-031-06773-0_43