BanditRepair: Speculative Exploration of Runtime Patches

by Thomas Durieux, Youssef Hamadi and Martin Monperrus
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.
 View PDF
Open-access (on
Open-access (on
Other publications of Martin Monperrus

Cite it:

BanditRepair: Speculative Exploration of Runtime Patches (, and ), Technical report 1603.07631, Arxiv, .
Thomas Durieux, Youssef Hamadi and Martin Monperrus, "BanditRepair: Speculative Exploration of Runtime Patches", 1603.07631, Arxiv, no. 1603.07631, 2016.

Bibtex Entry:

 title = {{BanditRepair: Speculative Exploration of Runtime Patches}},
 author = {Durieux, Thomas and Hamadi, Youssef and Monperrus, Martin},
 url = {},
 year = {2016},
 number = {1603.07631},
 institution = {Arxiv},
Powered by bibtexbrowser
Tagged as: Share on Twitter