Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Lineage-driven Fault Injection for Actor-based Programs
KTH, School of Electrical Engineering and Computer Science (EECS).
2019 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

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.

Abstract [sv]

Lineage-driven fault injection (LDFI) är en metod för att hitta fel i distribuerade system. Den främsta implementationen av LDFI, Molly, tar program skrivna i logikprogrammingeringsspråket Dedalus som inmatning. Problemet är att Dedalus är ett litet och obskyrt språk som användes i syfte att bevisa att metoden Molly baserar sin analys på, LDFI, fungerar i praktiken. Målet med denna studie är således att utvidga och anpassa Molly i syfte att öka tillgängligheten av implementationen genom att göra det möjligt att analysera distribuerade program skrivna i objekt-orienterade språk med hjälp av det agent-baserade ramverket Akka. I denna studie presenteras ett nytt koncept för att använda LDFI på agent-baserade program och därtill en implementation av konceptet som möjliggör analys av existerande Akka program. Resultaten visar att LDFI för Akka, ldfi-akka, är kapabel till att framgångsrikt identifiera svagheter av programmen som analyseras, givet att analysen kan ske inom ett rimligt tidsspann. För större program, emellertid, visar det sig att den underliggande SAT-lösaren blir överväldigad. Korrektheten av analysen som ldfi-akka gör grundar sig delvis i att programmen som analyseras a) kan omskrivas på ett sådant sätt att det är möjligt att de kan loggas och b) är deterministiska – programmet uppvisar samma beteende oavsett hur många gånger det körs. Slutsatsen som dras är att denna studie presenterar ett helt nytt sätt för att använda LDFI för att analysera agent-baserade program och ldfi-akka, som implementerar konceptet för program skrivna i Akka.

Place, publisher, year, edition, pages
2019. , p. 73
Series
TRITA-EECS-EX ; 2019:67
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-249719OAI: oai:DiVA.org:kth-249719DiVA, id: diva2:1305843
Educational program
Master of Science in Engineering - Information and Communication Technology
Supervisors
Examiners
Available from: 2019-05-03 Created: 2019-04-18 Last updated: 2019-05-03Bibliographically approved

Open Access in DiVA

fulltext(972 kB)69 downloads
File information
File name FULLTEXT01.pdfFile size 972 kBChecksum SHA-512
ef53e0d89569a7942ce193cdc65a8b0dabb997f0c72a851bae6f040a0915413b527617049d7d360db0f8cc955586c9318dd0292195e372d40dd5338524e6dc59
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 69 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 581 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf