Multivariant Assertion-based Guidance in Abstract Interpretation

08/15/2018
by   Isabel Garcia-Contreras, et al.
0

Approximations during program analysis are a necessary evil, as they ensure essential properties, such as analysis soundness and termination, but they also imply that the analysis is not guaranteed to always produce useful results. In such cases it is necessary to have some means for users to provide information to guide analysis and thus to improve precision and/or shorten analysis time. This allows dealing with, e.g., constructs for which the analysis is not complete and loses precision or for which the source is only partially available. We present techniques for supporting within an abstract interpretation framework a rich set of assertions that can deal with multivariance/context-sensitivity, and can handle different run-time semantics for those assertions that cannot be discharged at compile time. We show how the proposed approach can be applied to both improving precision and accelerating convergence, and provide a procedure to decide whether the invariants used to guide the analyzer are checked, incompatible, or neither. We also provide some formal results on the effects of such assertions on the analysis results.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/06/2018

Size-Change Termination as a Contract

Program termination is an undecidable, yet important, property relevant ...
research
04/27/2018

Sound up-to techniques and Complete abstract domains

Abstract interpretation is a method to automatically find invariants of ...
research
09/21/2022

Interactive Abstract Interpretation: Reanalyzing Whole Programs for Cheap

To put static program analysis at the fingertips of the software develop...
research
08/17/2021

Improving Thread-Modular Abstract Interpretation

We give thread-modular non-relational value analyses as abstractions of ...
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...
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