BanditRepair: Speculative Exploration of Runtime Patches
Thomas Durieux, Youssef Hamadi, Martin Monperrus

TL;DR
BanditRepair employs bandit algorithms to systematically explore and evaluate runtime patches for null dereferences, balancing repair success and exploration to discover a large set of effective runtime modifications.
Contribution
It introduces a novel approach using bandit algorithms for systematic exploration of runtime patches, specifically for null dereference repairs, and characterizes the search space and outcomes.
Findings
Identified 8460 runtime patches across 16 bugs.
Patches involve 1 to 8 execution modifications.
First detailed characterization of runtime repair search space.
Abstract
We propose, BanditRepair, a system that systematically explores and assesses a set of possible runtime patches. The system is grounded on so-called bandit algorithms, that are online machine learning algorithms, designed for constantly balancing exploitation and exploration. BanditRepair's runtime patches are based on modifying the execution state for repairing null dereferences. BanditRepair constantly trades the ratio of automatically handled failures for searching for new runtime patches and vice versa. We evaluate the system with 16 null dereference field bugs, where BanditRepair identifies a total of 8460 different runtime patches, which are composed of 1 up to 8 decisions (execution modifications) taken in a row. We are the first to finely characterize the search space and the outcomes of runtime repair based on execution modification.
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.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Software Testing and Debugging Techniques · Adversarial Robustness in Machine Learning
