Fault Injection Seminar (2015)

Prof. Dr. Andreas Polze

Lena Herscheid
Daniel Richter

The complexity of modern software systems makes it very hard to predict the consequences of bugs, internal error propagation behaviour, and overall system reliability. However, dependability is gaining importance as the size and pervasiveness of software increases.

Fault injection is a means for experimentally assessing the dependability of software systems. It can be used to test the fault tolerance features by artificially inserting faulty behaviour into the running system.

The technique of fault injection can be implemented in various ways. Fault injectors can be characterized by intrusiveness, coverage, overhead, and trigger mechanism. In this seminar, participants will compare and discuss different software fault injection approaches.

Organization

Extent: 2 semester hours (3 graded credit points)

Dates: Thursday, 13.30 - 15.00

Introductory Slides

The seminar contains practical and theoretical aspects. Participants are required to read scientific publications on a particular approach to software fault injection. Subsequently, they will either demonstrate the use of an existing fault injector, or build and show an own fault injection prototype.
  • Each participant is expected to give a 30-45 minute presentation containing a practical demonstration about a fault injection approach.
  • Presentation slides should be discussed with a supervisor one week prior to the presentation date.
  • At the end of the seminar, we plan to assemble a technical report about your seminar topics.

Topics

  • Fault Injection in Managed Code: TestApi
  • Fault Injection Patterns in Java: Jaca (1, 2)
  • Fault Injection testing of Operating Systems: Ballista (1), CrashMe (2)
  • Fault Injection into Libraries: LFI (1)
  • Fault Injection using AOP (1)
  • Fault Injection in Distributed and Cloud Systems: ChaosMonkey (1)
  • GPU Fault Injection: GPU-Qin (1)

Additional topic suggestions are welcome!

Presentation Dates

Date Presenter Topic
23.04.2015 Introduction
30.04.2015 Topic Conflict Resolution
07.05.2015 (Buffer)
14.05.2015 Himmelfahrt
21.05.2015 Sijing You Fault Injection into Libraries
28.05.2015 Angelo Haller Fault Injection auf System Call Ebene
04.06.2015 (Buffer)
11.06.2015 OpenStack DACH Tag
18.06.2015 Annual Symposium on Future Trends in Service-Oriented Computing
25.06.2015 Anne Gropler GPU Fault Injection
Lukas Pirl Fault Injection testing of Operating Systems
02.07.2015 HPI/Technion Workshop
09.07.2015 Patrick Siegler Fault Injection in Managed Code, Example Code
Sebastian Gerstenberg Fault Injection Patterns in Java
16.07.2015 (Buffer)
23.07.2015 (Buffer)

Technical Report

Software-Fehlerinjektion
Lena Feinbube, Daniel Richter, Sebastian Gerstenberg, Patrick Siegler, Angelo Haller, Andreas Polze
Technische Berichte Nr. 109 des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam
Band 109 (2016), ISBN 978-3-86956-386-2