dc.contributor.author | Murali, Aniruddhan | |
dc.date.accessioned | 2021-12-17 20:31:54 (GMT) | |
dc.date.available | 2021-12-17 20:31:54 (GMT) | |
dc.date.issued | 2021-12-17 | |
dc.date.submitted | 2021-12-09 | |
dc.identifier.uri | http://hdl.handle.net/10012/17775 | |
dc.description.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. | en |
dc.language.iso | en | en |
dc.publisher | University of Waterloo | en |
dc.relation.uri | https://github.com/darkforce392/gcc | en |
dc.subject | memory leak | en |
dc.subject | bug fixing | en |
dc.subject | software security | en |
dc.title | AddressWatcher: Automatic Memory Leak Fixing | en |
dc.type | Master Thesis | en |
dc.pending | false | |
uws-etd.degree.department | David R. Cheriton School of Computer Science | en |
uws-etd.degree.discipline | Computer Science | en |
uws-etd.degree.grantor | University of Waterloo | en |
uws-etd.degree | Master of Mathematics | en |
uws-etd.embargo.terms | 0 | en |
uws.contributor.advisor | Nagappan, Mei | |
uws.contributor.affiliation1 | Faculty of Mathematics | en |
uws.published.city | Waterloo | en |
uws.published.country | Canada | en |
uws.published.province | Ontario | en |
uws.typeOfResource | Text | en |
uws.peerReviewStatus | Unreviewed | en |
uws.scholarLevel | Graduate | en |