Lineage-driven Fault Injection for Actor-based Programs

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Author: Yonas Ghidei; [2019]

Keywords: ;

Abstract: Lineage-driven fault injection (LDFI) is an approach for finding bugs or faults in distributed systems. Its current state-of-the-art implementation, Molly, takes programs written in the logic programming language Dedalus as its input. The problem is that Dedalus is a small and obscure language, used to serve as a proof of concept for Molly. Thus, the objective of this thesis is to extend and adapt Molly to a general-purpose, object-oriented language where distributed programs are written using the actor-based framework Akka. This thesis presents a novel concept for employing lineage-driven fault injection for actor-based programs in addition to implementing said concept to analyze existing Akka programs. The results show that the lineage-driven fault injector for Akka programs, ldfi-akka, is capable of successfully pinpointing the weaknesses of the programs that can be analyzed in a feasible amount of time. However, ldfi-akka struggles to analyze larger and complex programs as the underlying SAT-solver used is overwhelmed. The correctness of the analysis made by ldfi-akka is partially based on the subject programs’ ability to a) be rewritten in such a way that logging can be added and b) exhibit deterministic behavior across multiple runs. Conclusively, this study presents a novel approach to employ lineage-driven fault injection on actor-based programs and ldfi-akka, an implementation of LDFI on Akka programs.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)