icon-carat-right menu search cmu-wordmark

Pointer Ownership Model: Temporal Memory Safety Framework for C

Collection
By
The Pointer Ownership Model roject aims to deliver a practical, automated framework for enforcing temporal memory safety in C programs.
Publisher

Software Engineering Institute

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