Hybrid Inlining: A Compositional and Context Sensitive Static Analysis Framework

10/26/2022
by   Jiangchao Liu, et al.
0

Context sensitivity is essential for achieving the precision in inter-procedural static analysis. To be (fully) context sensitive, top-down analysis needs to fully inline all statements of the callees at each callsite, leading to statement explosion. Compositional analysis, which inlines summaries of the callees, scales up but often loses precision, as it is not strictly context sensitive. We propose a compositional and strictly context sensitive framework for static analysis. This framework is based on one key observation: a compositional static analysis often loses precision only on some critical statements that need to be analyzed context sensitively. Our approach hybridly inlines the critical statements and the summaries of non-critical statements of each callee, thus avoiding the re-analysis of non-critical ones. In addition, our analysis lazily summarizes the critical statements, by stopping propagating the critical statements once the calling context accumulated is adequate. Hybrid Inlining can be as precise as context sensitive top-down analysis. We have designed and implemented a pointer analysis based on this framework. It can analyze large Java programs from the Dacapo benchmark suite and industry in minutes. In our evaluation, compared to context insensitive analysis, Hybrid Inlining just brings 65 industrial applications respectively.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/06/2020

Static Race Detection for RTOS Applications

We present a static analysis technique for detecting data races in Real-...
research
05/26/2023

Accounting statement analysis at industry level. A gentle introduction to the compositional approach

Compositional data are contemporarily defined as positive vectors, the r...
research
04/24/2023

Context Sensitivity without Contexts: A Cut-Shortcut Approach to Fast and Precise Pointer Analysis

Over the past decades, context sensitivity has been considered as one of...
research
04/25/2018

Cheap Non-standard Analysis and Computability

Non standard Analysis is an area of Mathematics dealing with notions of ...
research
09/28/2017

Flow-Sensitive Composition of Thread-Modular Abstract Interpretation

We propose a constraint-based flow-sensitive static analysis for concurr...
research
08/11/2022

Correlating Effectiveness of Pointer Analysis Techniques with Patterns in Embedded System Code

A pointer analysis maps the pointers in a program to the memory location...
research
02/23/2020

Path Outlines: Browsing Path-Based Summaries of Linked Open Datasets

Linked Data (LD) are structured sources of information, such as DBpedia ...

Please sign up or login with your details

Forgot password? Click here to reset