Visible to the public A Rollback Mechanism to Recover from Software Failures in Role-based Adaptive Software Systems

TitleA Rollback Mechanism to Recover from Software Failures in Role-based Adaptive Software Systems
Publication TypeConference Paper
Year of Publication2017
AuthorsTaing, Nguonly, Springer, Thomas, Cardozo, Nicolás, Schill, Alexander
Conference NameCompanion to the First International Conference on the Art, Science and Engineering of Programming
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4836-2
Keywordspubcrawl, recovery, Resiliency, Roles, Rollback, System recovery, Unanticipated Adaptation
Abstract

Context-dependent applications are relatively complex due to their multiple variations caused by context activation, especially in the presence of unanticipated adaptation. Testing these systems is challenging, as it is hard to reproduce the same execution environments. Therefore, a software failure caused by bugs is no exception. This paper presents a rollback mechanism to recover from software failures as part of a role-based runtime with support for unanticipated adaptation. The mechanism performs checkpoints before each adaptation and employs specialized sensors to detect bugs resulting from recent configuration changes. When the runtime detects a bug, it assumes that the bug belongs to the latest configuration. The runtime rolls back to the recent checkpoint to recover and subsequently notifies the developer to fix the bug and re-applying the adaptation through unanticipated adaptation. We prototype the concept as part of our role-based runtime engine LyRT and demonstrate the applicability of the rollback recovery mechanism for unanticipated adaptation in erroneous situations.

URLhttp://doi.acm.org/10.1145/3079368.3079388
DOI10.1145/3079368.3079388
Citation Keytaing_rollback_2017