Carraybound: Static Array Bounds Checking in C Programs Based on Taint Analysis

被引:6
作者
Gao, Fengjuan [1 ]
Chen, Tianjiao [1 ]
Wang, Yu [1 ]
Situ, Lingyun [1 ]
Wang, Linzhang [1 ]
Li, Xuandong [1 ]
机构
[1] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing 210023, Jiangsu, Peoples R China
来源
8TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE (INTERNETWARE 2016) | 2016年
关键词
Array index out-of-bounds; Static analysis; Taint analysis; Data flow analysis;
D O I
10.1145/2993717.2993724
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
C programming language never performs automatic bounds checking in order to speed up execution. But bounds checking is absolutely necessary in any program. Because if a variable is out-of-bounds, some serious errors may occur during execution, such as endless loop or buffer overflows. When there are arrays used in a program, the index of an array must be within the boundary of the array. But programmers always miss the array bounds checking or do not perform a correct array bounds checking. In this paper, we perform static analysis based on taint analysis and data flow analysis to detect which arrays do not have correct array bounds checking in the program. And we implement an automatic static tool, Carraybound. And the experimental results show that Carraybound can work effectively and efficiently.
引用
收藏
页码:81 / 90
页数:10
相关论文
共 33 条
[1]  
Allen Frances E., 1970, ACM SIGPLAN NOTICES, V5, P1, DOI DOI 10.1145/390013.808479
[2]  
[Anonymous], 2012, Technical report
[3]  
[Anonymous], 2005, NDSS
[4]  
[Anonymous], 2005, P 12 ACM C COMP COMM
[5]  
Austin T.M., 1994, Efficient Detection of All Pointer and Array Access Errors, V29
[6]   ABCD:: Eliminating array bounds checks on demand [J].
Bodik, R ;
Gupta, R ;
Sarkar, V .
ACM SIGPLAN NOTICES, 2000, 35 (05) :321-333
[7]   EXE: Automatically Generating Inputs of Death [J].
Cadar, Cristian ;
Ganesh, Vijay ;
Pawlowski, Peter M. ;
Dill, David L. ;
Engler, Dawson R. .
ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2008, 12 (02)
[8]  
Chimdyalwar B., 2012, P 5 IND SOFTW ENG C, P45
[9]  
Costa M., 2005, P 21 ACM SIGOPS S OP, P133
[10]  
Cowan C, 1998, PROCEEDINGS OF THE SEVENTH USENIX SECURITY SYMPOSIUM, P63