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 AI2 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 𝔻.

Decoupling the Ascending and Descending Phases in Abstract Interpretation

Isabella Mastroeni;
2022-01-01

Abstract

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 AI2 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 𝔻.
2022
978-3-031-21036-5
Abstract interpretation, Static analysis, Widening, Narrowing
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11562/1084006
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? ND
social impact