Architectural support for low overhead detection of memory violations

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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 "safety" 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.

Original languageEnglish (US)
Title of host publicationProceedings - 2009 Design, Automation and Test in Europe Conference and Exhibition, DATE '09
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages652-657
Number of pages6
ISBN (Print)9783981080155
DOIs
StatePublished - 2009
Externally publishedYes
Event2009 Design, Automation and Test in Europe Conference and Exhibition, DATE '09 - Nice, France
Duration: Apr 20 2009Apr 24 2009

Publication series

NameProceedings -Design, Automation and Test in Europe, DATE
ISSN (Print)1530-1591

Other

Other2009 Design, Automation and Test in Europe Conference and Exhibition, DATE '09
Country/TerritoryFrance
CityNice
Period4/20/094/24/09

ASJC Scopus subject areas

  • Engineering(all)

Fingerprint

Dive into the research topics of 'Architectural support for low overhead detection of memory violations'. Together they form a unique fingerprint.

Cite this