A logic-based approach to data flow analysis problems
Generate an AI Snapshot to get a quick, structured summary of this paper.
A concise AI-generated summary of the paper will appear here once you click Generate AI Snapshot.
TL;DR
A new uniform formalism for tracking static properties of programs with static assertions, i.e., assertions which hold independently of the specific execution path leading to this point.
Abstract
A new uniform formalism for tracking static properties of programs is presented. The formalism annotates each point in a program with static assertions, i.e., assertions which hold independently of the specific execution path leading to this point.The novel idea is to use Horn clauses to specify the consistent environments and the meaning of program operations.The abstract interpretation technique is used for finding conservative approximations to the static assertions and to analyze the accuracy of the approximation.The formalism is used to specify and solve the problem of tracking pointer equality and allocations in Pascal-like languages. It is shown that the solutions are optimal under some natural assumptions.
