arrow
Return

Tolerating C Integer Error via Precision Elevation

delete2019-02-01
delete1
PRE
AI
X
Xi Cheng
周旻 (Min Zhou) *
X
Xiaoyu Song
M
Ming Gu
J
Jiaguang Sun
DOI:10.1109/TC.2018.2866388delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
In C programs, integer error is a common yet important kind of defect due to arithmetic operations that produce unrepresentable values in certain types. Integer errors are harbored in a wide range of applications and possibly lead to serious software failures and exploitable vulnerabilities. Due to the complicated semantics of C, manually preventing integer errors is challenging even for experienced developers. In this paper we propose a novel approach to automate C integer error repair by elevating the precision of arithmetic operations according to a set of code transformation rules. A large portion of integer errors can be repaired by recovering expected results (i.e., tolerance) instead of removing program functionality. Our approach is fully automatic without requiring code specifications. Furthermore, the transformed code is ensured to be well-typed and has conservativeness property with respect to the original code. Our approach is implemented as a prototype CINTFIX which succeeds in repairing all the integer errors from 7 categories in NIST's Juliet Test Suite. Furthermore, CINTFIX is evaluated on large code bases in SPEC CINT2000, scaling to 366 KLOC within 126 seconds while the transformed code has 10.5 percent slowdown on average. The evaluation results substantiate the potential of our approach in real-world scenarios.
Keywords:
Integer error
tolerability
code transformation
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Computers cover
IEEE Transactions on Computers
IF:
3.8
Papers:
5.3K
Citations:
9.8K

Organization

T
tsinghua university
Scholars:
11.8W
Papers: 10.0W
Citations: 137
P
Portland State University
Scholars:
3.3K
Papers: 3.3K
Citations: 5.0K