Decoupling the ascending and descending phases in Abstract Interpretation

06/22/2022
by   Vincenzo Arceri, et al.
0

Abstract Interpretation approximates the semantics of a program by mimicking its concrete fixpoint computation on an abstract domain 𝔸. The abstract (post-) fixpoint computation is classically divided into two phases: the ascending phase, using widenings as extrapolation operators to enforce termination, is followed by a descending phase, using narrowings as interpolation operators, so as to mitigate the effect of the precision losses introduced by widenings. In this paper we propose a simple variation of this classical approach where, to more effectively recover precision, we decouple the two phases: in particular, before starting the descending phase, we replace the domain 𝔸 with a more precise abstract domain 𝔻. The correctness of the approach is justified by casting it as an instance of the A^2I framework. After demonstrating the new technique on a simple example, we summarize the results of a preliminary experimental evaluation, showing that it is able to obtain significant precision improvements for several choices of the domains 𝔸 and 𝔻.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/17/2022

Abstract Interpretation on E-Graphs

Recent e-graph applications have typically considered concrete semantics...
research
08/06/2018

Size-Change Termination as a Contract

Program termination is an undecidable, yet important, property relevant ...
research
08/07/2020

An Experiment Combining Specialization with Abstract Interpretation

It was previously shown that control-flow refinement can be achieved by ...
research
04/02/2021

Demanded Abstract Interpretation (Extended Version)

We consider the problem of making expressive static analyzers interactiv...
research
08/15/2018

Multivariant Assertion-based Guidance in Abstract Interpretation

Approximations during program analysis are a necessary evil, as they ens...
research
06/04/2020

Twinning automata and regular expressions for string static analysis

In this paper we formalize and prove the soundness of Tarsis, a new abst...
research
09/12/2020

Memory-Efficient Fixpoint Computation

Practical adoption of static analysis often requires trading precision f...

Please sign up or login with your details

Forgot password? Click here to reset