Publication | Closed Access
Architectural support for low overhead detection of memory violations
22
Citations
25
References
2009
Year
EngineeringMemory ViolationsMemory Reference ViolationsComputer ArchitectureSoftware EngineeringArchitectural SupportMemory Model (Programming)Software AnalysisHardware SecurityParallel ComputingMemory ManagementMemory ReferencesMemory AnalysisComputer EngineeringComputer ScienceStatic Program AnalysisLanguage-based SecurityProgram AnalysisSoftware TestingGarbage CollectionSystem Software
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 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 over-head, while an exclusively software mechanism incurs 480% impact for the same benchmarks.
| Year | Citations | |
|---|---|---|
Page 1
Page 1