Model-based Testing of Practical Distributed Systems in Actor Model
By: Ilya Kokorin, Evgeny Chernatskiy, Vitaly Aksenov
Potential Business Impact:
Tests computer programs without changing their code.
Designing and implementing distributed systems correctly can be quite challenging. Although these systems are often accompanied by formal specifications that are verified using model-checking techniques, a gap still exists between the implementation and its formal specification: there is no guarantee that the implementation is free of bugs. To bridge this gap, we can use model-based testing. Specifically, if the model of the system can be interpreted as a finite-state automaton, we can generate an exhaustive test suite for the implementation that covers all possible states and transitions. In this paper, we discuss how to efficiently generate such a test suite for distributed systems written in the actor model. Importantly, our approach does not require any modifications to the code or interfering with the distributed system execution environment. As an example, we verified an implementation of a replication algorithm based on Viewstamped Replication, which is used in a real-world system.
Similar Papers
On the Duality of Task and Actor Programming Models
Programming Languages
Makes slow computer programs run much faster.
Automated Statistical Testing and Certification of a Reliable Model-Coupling Server for Scientific Computing
Software Engineering
Tests computer programs to find hidden mistakes.
Statistical Model Checking of NetLogo Models
Multiagent Systems
Makes computer models more trustworthy and faster.