Pointer Ownership Model: Temporal Memory Safety Framework for C
• Collection
Publisher
Software Engineering Institute
Topic or Tag
Abstract
C and C++ underpin vast amounts of critical software, but they are insecure and unsafe with respect to memory management, especially in the temporal dimension. Traditional formal methods and manual verification can catch many of these issues, but often at prohibitive cost in time and expertise. The Pointer Ownership Model (POM) project aims to deliver a practical, automated framework for enforcing temporal memory safety in C programs. POM builds on prior efforts such as the 2014 POM and is inspired by the C++ RAII (Resource Acquisition Is Initialization) idiom and Rust borrow-checking. POM provides a mechanism to eliminate use-after-free errors, a new abstraction for distinguishing responsible and irresponsible pointer arguments, and support for aggregate types that contain pointers. It will use large language models (LLMs) to reduce human effort and improve accuracy.
Collection Items
Design of Enhanced Pointer Ownership Model for C
• Technical Report
By David Svoboda, Lori Flynn, William Klieber, Ruben Martins, Sasank Vishnubhatla, Nicholas Reimer
This report describes the design for a new temporal memory safety model for C code and an implementation to enforce it.
ReadPointer Ownership Model
• Conference Paper
By David Svoboda, Lutz Wrage
In this paper, the authors describe how the Pointer Ownership Model improves static analysis of C programs for errors involving dynamic memory management.
ReadUsing the Pointer Ownership Model to Secure Memory Management in C and C++
• Blog Post
By David Svoboda
This blog post describes a research initiative aimed at eliminating vulnerabilities resulting from memory management problems in C and C++. Memory problems in C and C++ can lead to serious …
Read