AddressWatcher: Automatic Memory Leak Fixing

Loading...
Thumbnail Image

Date

2021-12-17

Authors

Murali, Aniruddhan

Advisor

Nagappan, Mei

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

Automatic bug fixing has become a promising direction over manual fixing of bugs. In this work, we focus on a specific bug: Memory Leaks. We propose an automatic approach to suggest memory leak fixes in C/C++ programs saving valuable developer time. AddressWatcher is the first attempt to use Address Sanitizer and LeakSanitizer together to suggest fixes for memory leaks. Our dynamic analysis approach was evaluated on binutils, openssh, tmux. It requires test suite to be run several times over different program paths to identify potential fix location. In 10 out of 26 real world bugs, AddressWatcher was able to correctly point the free location to fix the memory leak matching the developer's fix. AddressWatcher is scalable to multithreaded applications. AddressWatcher is complementary to existing static analysis tools that fix memory leaks.

Description

Keywords

memory leak, bug fixing, software security

LC Keywords

Citation