Carraybound: Static Array Bounds Checking in C Programs Based on Taint Analysis
Title | Carraybound: Static Array Bounds Checking in C Programs Based on Taint Analysis |
Publication Type | Conference Paper |
Year of Publication | 2016 |
Authors | Gao, Fengjuan, Chen, Tianjiao, Wang, Yu, Situ, Lingyun, Wang, Linzhang, Li, Xuandong |
Conference Name | Proceedings of the 8th Asia-Pacific Symposium on Internetware |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-4503-4829-4 |
Keywords | array 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. |
URL | http://doi.acm.org/10.1145/2993717.2993724 |
DOI | 10.1145/2993717.2993724 |
Citation Key | gao_carraybound:_2016 |