Synthesizing Program-Specific Static Analyses

10/15/2018
by   Colin S. Gordon, et al.
0

Designing a static analysis is generally a substantial undertaking, requiring significant expertise in both program analysis and the domain of the program analysis, and significant development resources. As a result, most program analyses target properties that are universallly of interest (e.g., absence of null pointer dereference) or nearly so (e.g., deadlock freedom). However, many interesting program properties that would benefit from static checking are specific to individual programs, or sometimes programs utilizing a certain library. It is impractical to devote program analysis and verification experts to these problems. We propose instead to work on example-based synthesis of program analyses within well-understood domains like type qualifier systems and effect systems. The dynamic behaviors behind the classes of problems these systems prevent correspond to examples that developers who lack expertise in static analysis can readily provide (data flow paths, or stack traces).

READ FULL TEXT

page 1

page 2

research
01/12/2023

Naturalistic Static Program Analysis

Static program analysis development is a non-trivial and time-consuming ...
research
08/24/2017

Transforming Coroutining Logic Programs into Equivalent CHR Programs

We extend a technique called Compiling Control. The technique transforms...
research
12/14/2019

Conquering the Extensional Scalability Problem for Value-Flow Analysis Frameworks

With an increasing number of value-flow properties to check, existing st...
research
07/18/2023

Newtonian Program Analysis of Probabilistic Programs

Due to their quantitative nature, probabilistic programs pose non-trivia...
research
01/29/2020

Optimal and Perfectly Parallel Algorithms for On-demand Data-flow Analysis

Interprocedural data-flow analyses form an expressive and useful paradig...
research
05/14/2013

Abstracting Abstract Control (Extended)

The strength of a dynamic language is also its weakness: run-time flexib...
research
05/06/2019

Heaps Don't Lie: Countering Unsoundness with Heap Snapshots

Static analyses aspire to explore all possible executions in order to ac...

Please sign up or login with your details

Forgot password? Click here to reset