We present a general approach for automatically isolating the root causes of memory-related bugs in software. Our approach is based on the observation that most memory bugs involve uses of corrupted memory locations. By iteratively suppressing (nullifying) the effects of these corrupted memory locations during program execution, our approach gradually isolates the root cause of a memory bug. Our approach can work for common memory bugs such as buffer overflows, uninitialized reads, and double frees. However, our approach is particularly effective in finding root causes for memory bugs in which memory corruption propagates during execution until an observable failure such as a program crash occurs.
Corrupted memory location suppression REF attempts to identify the root cause of memory bugs by iteratively suppressing the cause of the memory failure.
Identifying the root causes of memory bugs using corrupted memory location suppression
2008 IEEE International Conference on Software Maintenance
2008 IEEE International Conference on Software Maintenance
Computer Science