Among distributed applications, the actor model is increasingly prevalent. This programming model organises applications into fully-isolated processes that communicate through asynchronous messaging. Supported by frameworks such as Akka and Orleans, it is believed to facilitate realising responsive, elastic and resilient distributed applications. While these frameworks do provide abstractions for implementing resilience, it remains up to developers to use them correctly and to test that their implementation actually recovers from anticipated failures. As manually exploring the reaction to every possible failure scenario is infeasible, there is a need for automated means of testing the resilience of a distributed application.
We present the first automated approach to testing the resilience of actor programs. Our approach perturbs the execution of existing test cases and leverages delta debugging to explore all failure scenarios more efficiently. Moreover, we present a further optimisation that uses causality to prune away redundant perturbations and speed up the exploration. However, its effectiveness is sensitive to the program’s organisation and to the actual location of the fault.
Our experimental evaluation shows that our approach can speed up resilience testing by four times compared to random exploration.
Original languageEnglish
Title of host publicationProceedings of the IEEE/ACM 1st International Conference on Automation of Software Test (AST2020)
Number of pages11
Publication statusPublished - Oct 2020
EventIEEE/ACM International Conference on Automation of Software Testing - Seoul
Duration: 25 May 202026 May 2020
Conference number: 1


ConferenceIEEE/ACM International Conference on Automation of Software Testing
Abbreviated titleAST
Internet address

    Research areas

  • automated testing, software resilience, distributed systems, fault injection, test amplification, delta debugging

ID: 49563760