Published August 30, 2024 | Version v1
Software Open

C-2PO: A Weakly Relational Pointer Domain

  • 1. Technische Universität München

Description

Artifact for NSAD '24 Paper: C-2PO: A Weakly Relational Pointer Domain

Pointer analysis is foundational for statically analyzing real-world programs. We present C-2PO — a weakly relational domain for C programs, which tracks must-equalities and -disequalities between pointer expressions. This domain captures address arithmetic and its confinement to single memory objects, both core concepts in C. We implement the domain in Goblint and provide a preliminary evaluation. For 95% of SV-COMP tasks, the slowdown incurred by adding C-2PO is below a factor of 3. To measure precision, we instrumented coreutil programs with assertions computed by C-2PO. For an existing non-relational pointer analysis, 80% of the assertions are out of reach.

Please refer to README.md for the artifact descritption.
For the most up-to-date version of the Goblint Static Analyzer, please refer to https://goblint.in.tum.de.

Files

README.md

Files (7.8 GB)

Name Size Download all
md5:92a84eae88b13f8aa3c7c388d6b001bd
7.8 GB Download
md5:96a7df6ec1328d67c571bfcde1445582
3.3 kB Preview Download