Memory-Efficient Fixpoint Computation

09/12/2020
by   Sung Kook Kim, et al.
0

Practical adoption of static analysis often requires trading precision for performance. This paper focuses on improving the memory efficiency of abstract interpretation without sacrificing precision or time efficiency. Computationally, abstract interpretation reduces the problem of inferring program invariants to computing a fixpoint of a set of equations. This paper presents a method to minimize the memory footprint in Bourdoncle's iteration strategy, a widely-used technique for fixpoint computation. Our technique is agnostic to the abstract domain used. We prove that our technique is optimal (i.e., it results in minimum memory footprint) for Bourdoncle's iteration strategy while computing the same result. We evaluate the efficacy of our technique by implementing it in a tool called MIKOS, which extends the state-of-the-art abstract interpreter IKOS. When verifying user-provided assertions, MIKOS shows a decrease in peak-memory usage to 4.07 average compared to IKOS. When performing interprocedural buffer-overflow analysis, MIKOS shows a decrease in peak-memory usage to 43.7 average compared to IKOS.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/20/2017

Abstract Interpretation of Binary Code with Memory Accesses using Polyhedra

In this paper we propose a novel methodology for static analysis of bina...
research
09/12/2019

Deterministic Parallel Fixpoint Computation

Abstract interpretation is a general framework for expressing static pro...
research
07/30/2019

Computing Abstract Distances in Logic Programs

Abstract interpretation is a well-established technique for performing s...
research
07/06/2021

Thread-modular Analysis of Release-Acquire Concurrency

We present a thread-modular abstract interpretation(TMAI) technique to v...
research
08/15/2018

Multivariant Assertion-based Guidance in Abstract Interpretation

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

Demanded Abstract Interpretation (Extended Version)

We consider the problem of making expressive static analyzers interactiv...
research
06/22/2022

Decoupling the ascending and descending phases in Abstract Interpretation

Abstract Interpretation approximates the semantics of a program by mimic...

Please sign up or login with your details

Forgot password? Click here to reset