Definition and Implementation of a Points-To Analysis for C-like Languages
Stefano Soffia

TL;DR
This paper develops a flow-sensitive, store-based points-to analysis for C-like languages using abstract interpretation, providing formal proofs of soundness and extensions for more realistic modeling in program verification.
Contribution
It introduces a novel filter operation on the points-to abstract domain and formally proves the soundness of the analysis, advancing static aliasing analysis techniques.
Findings
Formal proof of soundness for the analysis.
Extension of the model for realistic program features.
Introduction of a filter operation on the abstract domain.
Abstract
The points-to problem is the problem of determining the possible run-time targets of pointer variables and is usually considered part of the more general aliasing problem, which consists in establishing whether and when different expressions can refer to the same memory address. Aliasing information is essential to every tool that needs to reason about the semantics of programs. However, due to well-known undecidability results, for all interesting languages that admit aliasing, the exact solution of nontrivial aliasing problems is not generally computable. This work focuses on approximated solutions to this problem by presenting a store-based, flow-sensitive points-to analysis, for applications in the field of automated software verification. In contrast to software testing procedures, which heuristically check the program against a finite set of executions, the methods considered in…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Security and Verification in Computing
