Pointer Ownership Model
• SEI Report
Publisher
Software Engineering Institute
Topic or Tag
Abstract
Pointers are a dangerous feature provided by C/C++, and incorrect use of pointers is a common source of bugs and vulnerabilities. Most new languages lack pointers or severely restrict their capabilities. Nonetheless, many C/C++ programmers work with pointers safely, by maintaining an internal model of when memory accessed through pointers should be allocated and subsequently freed. This model is frequently not documented in the program. The Pointer Ownership Model (POM) can statically identify certain classes of errors involving dynamic memory in C/C++ programs. It works by requiring the developer to identify responsible pointers, whose objects must be explicitly freed before the pointers themselves may be destroyed. POM can be statically analyzed to ensure that the design is consistent and secure, and that the code correctly implements the design. Consequently, POM can be used to identify, and eliminate many dynamic memory errors from C programs.
Part of a Collection
Secure Coding Tools and Advancements Publications
Cite This SEI Report
Svoboda, D. (2013, June 10). Pointer Ownership Model. Retrieved September 12, 2026, from https://www.sei.cmu.edu/library/pointer-ownership-model-2/.
@techreport{svoboda_2013,
author={Svoboda, David},
title={Pointer Ownership Model},
month={Jun},
year={2013},
institution={Software Engineering Institute, Carnegie Mellon University},
url={https://www.sei.cmu.edu/library/pointer-ownership-model-2/},
note={Accessed: 2026-Sep-12}
}
Svoboda, David. "Pointer Ownership Model." Software Engineering Institute, Carnegie Mellon University. Software Engineering Institute, June 10, 2013. https://www.sei.cmu.edu/library/pointer-ownership-model-2/.
D. Svoboda, "Pointer Ownership Model," Software Engineering Institute, Carnegie Mellon University. Software Engineering Institute, 10-Jun-2013 [Online]. Available: https://www.sei.cmu.edu/library/pointer-ownership-model-2/. [Accessed: 12-Sep-2026].
Svoboda, David. "Pointer Ownership Model." Software Engineering Institute, Carnegie Mellon University, Software Engineering Institute, 10 Jun. 2013. https://www.sei.cmu.edu/library/pointer-ownership-model-2/. Accessed 12 Sep. 2026.
Svoboda, David. Pointer Ownership Model. Software Engineering Institute. 2013. https://www.sei.cmu.edu/library/pointer-ownership-model-2/