• DocumentCode
    2173813
  • Title

    Architectural support for low overhead detection of memory violations

  • Author

    Ghose, Saugata ; Gilgeous, Latoya ; Dudnik, Polina ; Aggarwal, Aneesh ; Waxman, Corey

  • Author_Institution
    State Univ. of New York, Binghamton, NY
  • fYear
    2009
  • fDate
    20-24 April 2009
  • Firstpage
    652
  • Lastpage
    657
  • Abstract
    Violations in memory references cause tremendous loss of productivity, catastrophic mission failures, loss of privacy and security, and much more. Software mechanisms to detect memory violations have high false positive and negative rates or huge performance overhead. This paper proposes architectural support to detect memory reference violations in inherently unsafe languages such as C and C++. In this approach, the ISA is extended to include ldquosafetyrdquo instructions that provide compile-time information on pointers and objects. The microarchitecture is extended to efficiently execute the safety instructions. We explore optimizations, such as delayed violation detection and stack-based handling of local pointers, to reduce the performance overhead. Our experiments show that the synergy between hardware and software results in this approach having less than 5% average performance overhead, while an exclusively software mechanism incurs 480% impact for the same benchmarks.
  • Keywords
    C++ language; program debugging; software architecture; C++; architectural support; catastrophic mission failures; low overhead detection; memory references; memory violations; software mechanisms; stack-based handling; violation detection; Application software; Computer bugs; Hardware; High performance computing; Instruction sets; Microarchitecture; Pollution; Safety; Software performance; Usability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design, Automation & Test in Europe Conference & Exhibition, 2009. DATE '09.
  • Conference_Location
    Nice
  • ISSN
    1530-1591
  • Print_ISBN
    978-1-4244-3781-8
  • Type

    conf

  • DOI
    10.1109/DATE.2009.5090747
  • Filename
    5090747