SEJul 12, 2018

IntRepair: Informed Repairing of Integer Overflows

arXiv:1807.05092v327 citations
AI Analysis

This addresses a long-standing security issue in software applications, offering an automated solution for developers, though it appears incremental as it builds on existing static analysis methods.

The paper tackles the problem of integer overflows in C source code by proposing IntRepair, a novel technique based on static symbolic execution that automatically detects and repairs these overflows, achieving a 1% increase in code and binary size while being over 10x more efficient than manual repairs in a user study.

Integer overflows have threatened software applications for decades. Thus, in this paper, we propose a novel technique to provide automatic repairs of integer overflows in C source code. Our technique, based on static symbolic execution, fuses detection, repair generation and validation. This technique is implemented in a prototype named IntRepair. We applied IntRepair to 2,052C programs (approx. 1 million lines of code) contained in SAMATE's Juliet test suite and 50 synthesized programs that range up to 20KLOC. Our experimental results show that IntRepair is able to effectively detect integer overflows and successfully repair them, while only increasing the source code (LOC) and binary (Kb) size by around 1%, respectively. Further, we present the results of a user study with 30 participants which shows that IntRepair repairs are more than 10x efficient as compared to manually generated code repairs

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes