Affiliation:
1. Computer Sciences Department, University of Wisconsin-Madison, 1210 W. Dayton Street, Madison, WI
Abstract
We present a pointer and array access checking technique that provides complete error coverage through a simple set of program transformations. Our technique, based on an extended safe pointer representation, has a number of novel aspects. Foremost, it is the first technique that detects all spatial and temporal access errors. Its use is not limited by the expressiveness of the language; that is, it can be applied successfully to compiled or interpreted languages with subscripted and mutable pointers, local references, and explicit and typeless dynamic storage management, e.g., C. Because it is a source level transformation, it is amenable to both compile- and run-time optimization. Finally, its performance, even without compile-time optimization, is quite good. We implemented a prototype translator for the C language and analyzed the checking overheads of six non-trivial, pointer intensive programs. Execution overheads range from 130% to 540%; with text and data size overheads typically below 100%.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
72 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. GuaNary: Efficient Buffer Overflow Detection In Virtualized Clouds Using Intel EPT-based Sub-Page Write Protection Support;Proceedings of the ACM on Measurement and Analysis of Computing Systems;2023-12-07
2. An Object Tuple Model for Understanding Pointer and Array in C Language;IEEE Transactions on Education;2023-08
3. CGuard: Scalable and Precise Object Bounds Protection for C;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12
4. HWASanIO: Detecting C/C++ Intra-object Overflows with Memory Shading;Proceedings of the 12th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis;2023-06-06
5. Accelerating Type Confusion Detection by Identifying Harmless Type Castings;Proceedings of the 20th ACM International Conference on Computing Frontiers;2023-05-09