Automatic runtime recovery via error handler synthesis

Authors: Tianxiao Gu Chengnian Sun Xiaoxing Ma Jian Lü Zhendong Su

Venue: ASE   2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 684-695, 2016

Year: 2016

Abstract: Software systems are often subject to unexpected runtime errors. Automatic runtime recovery (ARR) techniques aim to recover them from erroneous states and maintain them functional in the field. This paper proposes Ares, a novel, practical approach for ARR. Our key insight is leveraging a system's inherent error handling support to recover from unexpected errors. To this end, we synthesize error handlers in two ways: error transformation and early return. We also equip Ares with a lightweight in-vivo testing infrastructure to select the promising synthesis method and avoid potentially dangerous error handlers. Unlike existing ARR techniques with heavyweight mechanisms (e.g., checkpoint-restart and runtime monitoring), our approach expands the intrinsic capability of runtime error resilience in software systems to handle unexpected errors. Ares's lightweight mechanism makes it practical and easy to be integrated into production environments. We have implemented Ares on top of both the Java HotSpot VM and Android ART, and applied it to recover from 52 real-world bugs. The results are promising - Ares successfully recovers from 39 of them and incurs negligible overhead.

BibTeX:

@inproceedings{tianxiaogu2016arrvehs,
    author = "Tianxiao Gu and Chengnian Sun and Xiaoxing Ma and Jian Lü and Zhendong Su",
    title = "Automatic runtime recovery via error handler synthesis",
    year = "2016",
    pages = "684-695",
    booktitle = "Proceedings of 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE)
        "
}

Plain Text:

Tianxiao Gu, Chengnian Sun, Xiaoxing Ma, Jian Lü, and Zhendong Su, "Automatic runtime recovery via error handler synthesis," 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 684-695