LeakGuard: Detecting Memory Leaks Accurately and Scalably

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Liang, Hongliang, Yin, Luming, Wu, Guohao, Li, Yuxiang, Yi, Qiuping, Wang, Lei
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912312744476672
author Liang, Hongliang
Yin, Luming
Wu, Guohao
Li, Yuxiang
Yi, Qiuping
Wang, Lei
author_facet Liang, Hongliang
Yin, Luming
Wu, Guohao
Li, Yuxiang
Yi, Qiuping
Wang, Lei
contents Memory leaks are prevalent in various real-world software projects, thereby leading to serious attacks like denial-of-service. Though prior methods for detecting memory leaks made significant advance, they often suffer from low accuracy and weak scalability for testing large and complex programs. In this paper we present LeakGuard, a memory leak detection tool which provides satisfactory balance of accuracy and scalability. For accuracy, LeakGuard analyzes the behaviors of library and developer-defined memory allocation and deallocation functions in a path-sensitive manner and generates function summaries for them in a bottom-up approach. Additionally, we develop a pointer escape analysis technique to model the transfer of pointer ownership. For scalability, LeakGuard examines each function of interest independently by using its function summary and under-constrained symbolic execution technique, which effectively mitigates path explosion problem. Our extensive evaluation on 18 real-world software projects and standard benchmark datasets demonstrates that LeakGuard achieves significant advancements in multiple aspects: it exhibits superior MAD function identification capability compared to Goshawk, outperforms five state-of-the-art methods in defect detection accuracy, and successfully identifies 129 previously undetected memory leak bugs, all of which have been independently verified and confirmed by the respective development teams.
format Preprint
id arxiv_https___arxiv_org_abs_2504_04422
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle LeakGuard: Detecting Memory Leaks Accurately and Scalably
Liang, Hongliang
Yin, Luming
Wu, Guohao
Li, Yuxiang
Yi, Qiuping
Wang, Lei
Cryptography and Security
Software Engineering
Memory leaks are prevalent in various real-world software projects, thereby leading to serious attacks like denial-of-service. Though prior methods for detecting memory leaks made significant advance, they often suffer from low accuracy and weak scalability for testing large and complex programs. In this paper we present LeakGuard, a memory leak detection tool which provides satisfactory balance of accuracy and scalability. For accuracy, LeakGuard analyzes the behaviors of library and developer-defined memory allocation and deallocation functions in a path-sensitive manner and generates function summaries for them in a bottom-up approach. Additionally, we develop a pointer escape analysis technique to model the transfer of pointer ownership. For scalability, LeakGuard examines each function of interest independently by using its function summary and under-constrained symbolic execution technique, which effectively mitigates path explosion problem. Our extensive evaluation on 18 real-world software projects and standard benchmark datasets demonstrates that LeakGuard achieves significant advancements in multiple aspects: it exhibits superior MAD function identification capability compared to Goshawk, outperforms five state-of-the-art methods in defect detection accuracy, and successfully identifies 129 previously undetected memory leak bugs, all of which have been independently verified and confirmed by the respective development teams.
title LeakGuard: Detecting Memory Leaks Accurately and Scalably
topic Cryptography and Security
Software Engineering
url https://arxiv.org/abs/2504.04422