Automated Code Repair for C/C++ Static Analysis Alerts
David Svoboda, Lori Flynn, William Klieber, Michael Duggan, Nicholas Reimer, Joseph Sible

TL;DR
This paper presents an automated program repair tool for C/C++ that significantly reduces static analysis alerts, improves code safety, and maintains code performance, supported by empirical analysis and real-world testing.
Contribution
It introduces a novel APR tool tailored for C/C++ static analysis alerts, including empirical analysis, repair strategies, and open-source datasets, enhancing developer trust and efficiency.
Findings
Repaired 87% of alerts in a large codebase
Reduced manual review effort significantly
Maintained code performance post-repair
Abstract
(Note: This work is a preprint.) Static analysis (SA) tools produce many diagnostic alerts indicating that source code in C or C++ may be defective and potentially vulnerable to security exploits. Many of these alerts are false positives. Identifying the true-positive alerts and repairing the defects in the associated code are huge efforts that automated program repair (APR) tools can help with. Our experience showed us that APR can reduce the number of SA alerts significantly and reduce the manual effort of analysts to review code. This engineering experience paper details the application of design, development, and performance testing to an APR tool we built that repairs C/C++ code associated with 3 categories of alerts produced by multiple SA tools. Its repairs are simple and local. Furthermore, our findings convinced the maintainers of the CERT Coding Standards to re-assess and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
