Sciweavers

EUROSYS
2009
ACM

First-aid: surviving and preventing memory management bugs during production runs

14 years 1 months ago
First-aid: surviving and preventing memory management bugs during production runs
Memory bugs in C/C++ programs severely affect system availability and security. This paper presents First-Aid, a lightweight runtime system that survives software failures caused by common memory management bugs and prevents future failures by the same bugs during production runs. Upon a failure, First-Aid diagnoses the bug type and identifies the memory objects that trigger the bug. To do so, it rolls back the program to previous checkpoints and uses two types of environmental changes that can prevent or expose memory bug manifestation during re-execution. Based on the diagnosis, First-Aid generates and applies runtime patches to avoid the memory bug and prevent its reoccurrence. Furthermore, First-Aid validates the consistent effects of the runtime patches and generates on-site diagnostic reports to assist developers in fixing the bugs. We have implemented First-Aid on Linux and evaluated it with seven applications that contain various types of memory bugs, including buffer over...
Qi Gao, Wenbin Zhang, Yan Tang, Feng Qin
Added 10 Mar 2010
Updated 10 Mar 2010
Type Conference
Year 2009
Where EUROSYS
Authors Qi Gao, Wenbin Zhang, Yan Tang, Feng Qin
Comments (0)