Visible to the public Carraybound: Static Array Bounds Checking in C Programs Based on Taint Analysis

TitleCarraybound: Static Array Bounds Checking in C Programs Based on Taint Analysis
Publication TypeConference Paper
Year of Publication2016
AuthorsGao, Fengjuan, Chen, Tianjiao, Wang, Yu, Situ, Lingyun, Wang, Linzhang, Li, Xuandong
Conference NameProceedings of the 8th Asia-Pacific Symposium on Internetware
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4829-4
Keywordsarray index out-of-bounds, composability, data flow analysis, Metrics, pubcrawl, static analysis, taint analysis
Abstract

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.

URLhttp://doi.acm.org/10.1145/2993717.2993724
DOI10.1145/2993717.2993724
Citation Keygao_carraybound:_2016