Title :
TCBC: Trap Caching Bounds Checking for C
Author :
Arahori, Yoshitaka ; Gondow, Katsuhiko ; Maejima, Hideo
Author_Institution :
Dept. of Comput. Sci., Tokyo Inst. of Technol., Tokyo, Japan
Abstract :
In this paper, we propose a debugging technique for C, which can dynamically find boundary errors on strings in a highly-compatible, accurate and efficient manner. The main idea of our technique is to effectively keep track of hazardous memory bounds (called trap regions) using a small table (called a trap cache) on the static section of the instrumented program. We have implemented our technique as an extension of GCC4.1.1 and conducted experiments. The results show that our technique was easily applicable even to large real programs including Apache 1.3.37 and Linux 2.6.20.4 without requiring significant manual effort, it successfully detected all of ten known boundary errors in them with no false positives, and it incurred low run-time overheads (average 17%) for their benchmarks.
Keywords :
C language; cache storage; program debugging; Apache 1.3.37; C language; GCC4.1.1; Linux 2.6.20.4; debugging technique; hazardous memory bounds; string boundary error; trap caching bounds checking; Computer errors; Computer science; Debugging; Information processing; Instruments; Linux; Manuals; Prototypes; Runtime; Security; backwards compatibility; bounds checking; debugging; dynamic analysis; region management; software tools;
Conference_Titel :
Dependable, Autonomic and Secure Computing, 2009. DASC '09. Eighth IEEE International Conference on
Conference_Location :
Chengdu
Print_ISBN :
978-0-7695-3929-4
Electronic_ISBN :
978-1-4244-5421-1
DOI :
10.1109/DASC.2009.80