AddressWatcher: Sanitizer-Based Localization of Memory Leak Fixes
Aniruddhan Murali, Mahmoud Alfadel, Meiyappan Nagappan, Meng Xu,, Chengnian Sun

TL;DR
AddressWatcher is a novel dynamic framework that tracks memory leak semantics across multiple execution paths, improving automatic memory leak fixing in C/C++ programs and successfully fixing numerous real-world bugs.
Contribution
The paper introduces AddressWatcher, a new framework that enhances leak localization by tracking multiple execution paths, addressing limitations of static and existing dynamic approaches.
Findings
Correctly identified fix locations in 23 out of 50 bugs
Submitted 25 pull requests, with 21 merged across open-source projects
Prompted a new version release and community discussions
Abstract
Memory leak bugs are a major problem in C/C++ programs. They occur when memory objects are not deallocated.Developers need to manually deallocate these objects to prevent memory leaks. As such, several techniques have been proposed to automatically fix memory leaks. Although proposed approaches have merit in automatically fixing memory leaks, they present limitations. Static-based approaches attempt to trace the complete semantics of memory object across all paths. However, they have scalability-related challenges when the target program has a large number of leaked paths. On the other hand, dynamic approaches can spell out precise semantics of memory object only on a single execution path (not considering multiple execution paths). In this paper, we complement prior approaches by designing and implementing a novel framework named AddressWatcher. AddressWatcher allows the semantics of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
