• DocumentCode
    2424829
  • Title

    SafeMem: exploiting ECC-memory for detecting memory leaks and memory corruption during production runs

  • Author

    Qin, Feng ; Lu, Shan ; Zhou, Yuanyuan

  • Author_Institution
    Dept. of Comput. Sci., Illinois Univ., Urbana, IL, USA
  • fYear
    2005
  • fDate
    12-16 Feb. 2005
  • Firstpage
    291
  • Lastpage
    302
  • Abstract
    Memory leaks and memory corruption are two major forms of software bugs that severely threaten system availability and security. According to the US-CERT vulnerability notes database, 68% of all reported vulnerabilities in 2003 were caused by memory leaks or memory corruption. Dynamic monitoring tools, such as the state-of-the-art Purify, are commonly used to detect memory leaks and memory corruption. However, most of these tools suffer from high overhead, with up to a 20 times slowdown, making them infeasible to be used for production-runs. This paper proposes a tool called SafeMem to detect memory leaks and memory corruption on-the-fly during production-runs. This tool does not rely on any new hardware support. Instead, it makes a novel use of existing ECC memory technology and exploits intelligent dynamic memory usage behavior analysis to detect memory leaks and corruption. We have evaluated SafeMem with seven real-world applications that contain memory leak or memory corruption bugs. SafeMem detects all tested bugs with low overhead (only 1.6%-14.4%), 2-3 orders of magnitudes smaller than Purify. Our results also show that ECC-protection is effective in pruning false positives for memory leak detection, and in reducing the amount of memory waste (by a factor of 64-74) used for memory monitoring in memory corruption detection compared to page-protection.
  • Keywords
    program compilers; program debugging; program diagnostics; storage management; supervisory programs; ECC memory technology; SafeMem; dynamic monitoring tools; intelligent dynamic memory usage behavior analysis; memory corruption detection; memory leak detection; memory monitoring; production-runs; Computer bugs; Data security; Databases; Hardware; Leak detection; Monitoring; Production; Programming profession; Runtime; Software performance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Performance Computer Architecture, 2005. HPCA-11. 11th International Symposium on
  • ISSN
    1530-0897
  • Print_ISBN
    0-7695-2275-0
  • Type

    conf

  • DOI
    10.1109/HPCA.2005.29
  • Filename
    1385952