SafeMD: Ownership-Based Safe Memory Deallocation for C Programs.

Autor: Yin, Xiaohua, Huang, Zhiqiu, Kan, Shuanglong, Shen, Guohua
Předmět:
Zdroj: Electronics (2079-9292); Nov2024, Vol. 13 Issue 21, p4307, 20p
Abstrakt: Rust is a relatively new programming language that aims to provide memory safety at compile time. It introduces a novel ownership system that enforces the automatic deallocation of unused resources without using a garbage collector. In light of Rust's promise of safety, a natural question arises about the possible benefits of exploiting ownership to ensure the memory safety of C programs. In our previous work, we developed a formal ownership checker to verify whether a C program satisfies exclusive ownership constraints. In this paper, we further propose an ownership-based safe memory deallocation approach, named SafeMD, to fix memory leaks in the C programs that satisfy exclusive ownership defined in the prior formal ownership checker. Benefiting from the C programs satisfying exclusive ownership, SafeMD obviates alias and inter-procedural analysis. Also, the patches generated by SafeMD make the input C programs still satisfy exclusive ownership. Usually, a C program that satisfies the exclusive ownership constraints is safer than its normal version. Our evaluation shows that SafeMD is effective in fixing memory leaks of C programs that satisfy exclusive ownership. [ABSTRACT FROM AUTHOR]
Databáze: Complementary Index