Diploma thesis: Error detection based on execution-time monitoring

Nowadays real-time systems can be found in every aspect of modern life – from controlling a washing machine to the autonomous navigation of Mars rovers. In this systems, the correctness of a systems behavior does not only depend on the actual computation results, but also on the physical instant at which these results are produced.

Determining the maximal execution time of a calculation is, therefore, essential to ascertain if the system can meet its temporal requirements.

But is there more usable information within an algorithms execution time?

This thesis investigates if respectively how the temporal behavior of an algorithm changes in the presence of errors that are caused by hardware faults. It examines if the observation of task run times can be used to detect these errors, so that undesired system behavior and failures can be averted early.

To reach this goal, a number of microbenchmarks will be identified and implemented; a fault injection model will be defined, and – building onto it – errors will be injected into the benchmarks’ program code. Those modified benchmarks will then be measured and the results evaluated with suitable methods. The gathered evaluations and insights will be presented in graphical and textual ways.

This work will show a robust method, detecting – depending on the algorithm – up to 70% of previously undetected errors. The method can be implemented into existing systems with reasonable effort and overhead, and provides an additional layer of protection against errors.


Downloads:

Thesis (pdf)
Presentation (pdf)
Poster (pdf)
Paper (pdf)
Raw measurement data (zip/sqlite)

Contact:

Email address