@inproceedings{a9b8b3fafc7b41bf9c52fc25ade0525f,
title = "FastFlip: Compositional SDC Resiliency Analysis",
abstract = "To efficiently harden programs susceptible to Silent Data Corruptions (SDCs), developers need to invoke error injection analyses to find particularly vulnerable instructions and then selectively protect them using appropriate compiler-level SDC detection mechanisms. However, these error injection analyses are both expensive and monolithic: they must be run from scratch after even small changes to the code, such as optimizations or bug fixes. This high recurring cost keeps such software-directed resiliency analyses out of standard software engineering practices such as regression testing. We present FastFlip, the first approach tailored to seamlessly incorporate resiliency analysis within the iterative software development workflow. FastFlip combines empirical error injection and symbolic SDC propagation analyses to enable fast and compositional error injection analysis of evolving programs. When developers modify a program, FastFlip often has to re-analyze only the modified program sections, which can save a significant amount of analysis time. We evaluated FastFlip with five benchmark programs. In our experiments, for each benchmark, we analyzed the original version plus two modified versions. The compositional nature of FastFlip speeds up the analysis of the incrementally modified versions by 3.2× (geomean) and up to 17.2×. The results demonstrate that FastFlip can effectively select a set of instructions to protect against SDCs that minimizes the runtime protection cost while protecting against a developer-specified target fraction of all tested SDC-causing errors.",
keywords = "Dynamic Analysis, Error Detection, Optimization, Resiliency, Static Analysis",
author = "Keyur Joshi and Rahul Singh and Tommaso Bassetto and Sarita Adve and Darko Marinov and Sasa Misailovic",
note = "The research in this paper was supported in part by NSF grants CCF-1846354, CCF-1956374, and CCF-2217144.; 23rd ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2025 ; Conference date: 01-03-2025 Through 05-03-2025",
year = "2025",
month = mar,
day = "1",
doi = "10.1145/3696443.3708938",
language = "English (US)",
series = "CGO 2025 - Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization",
publisher = "Association for Computing Machinery",
pages = "362--376",
editor = "Johannes Doerfert and Tobias Grosser and Hugh Leather and P.. Sadayappan",
booktitle = "CGO 2025 - Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization",
address = "United States",
}