Accelerating Meta Data Checks for Software Correctness and Security

J. Instruction-Level Parallelism(2007)

引用 34|浏览27
暂无评分
摘要
As high GHZ processors become prevalent, adding hardware support to ensure the cor- rectness and security of programs will be just as important, for the average user, as further increases in processor performance. The goal of our research is to focus on developing compiler and hardware support for ecien tly performing software checks that can be left on all of the time, even in production code releases, to provide a signican t increase in the correctness and security of software. In this paper we focus on the performance of checking the correctness of pointers. We focus on pointers since a signican t amount of bugs and security issues (buer overo ws) in programs are due to memory bugs resulting from incorrect usage of pointers. To determine if a pointer reference is correct many techniques require additional information to be kept track of called meta-data. The meta-data is checked when a pointer is dereferenced to verify some property about the pointer or the object. The rst part of our paper focuses on where to ecien tly keep track of this meta-data information and the overheads for performing safety checks like bounds checking and dangling pointer checks. We then focus on archi- tecture extensions to reduce the overhead of these meta-data checks. We examine these optimizations in the presence of two meta-data checking applications { bounds checking and dangling pointer checks and show that we can reduce the overhead of these pointer checks from 148% down to 21% on average.
更多
查看译文
关键词
product code
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要