MOVES Seminar 26 April 2010, 11:00
Jan Scherer
An Eclipse-Based Debugger for Embedded Systems Software
Abstract:
The identification of software failures in embedded systems software has
been recognized as tremendously important activity due to the fatal
consequences caused by erroneous software. The focus of this talk
addresses debugging as technique for the localization and correction of
failure causes.
I will discuss different approaches for embedded systems debugging and
in the following introduce the embedded systems debugger that has been
developed in the context of this diploma thesis. The ESD debugger does
not only provide support for standard execution control capabilities
such as breakpoints and single-stepping, but more importantly also
supports reverse execution. Allowing to run execution backwards to
previous moments in time is a very powerful concept and helps to
localize defects with more comfort and less time. While debugging allows
to reason about known failures it provides no support to guarantee
system correctness. Model Checking on the other hand is a formal
verification technique that allows to prove system correctness, however,
existing model checkers usually provide insufficient support for
counterexample analysis. The ESD debugger creates synergies between both
techniques and allows to analyse model checking counterexamples. The
talk is concluded by a tool demonstration that presents the capabilities
of the ESD debugger in more detail.
been recognized as tremendously important activity due to the fatal
consequences caused by erroneous software. The focus of this talk
addresses debugging as technique for the localization and correction of
failure causes.
I will discuss different approaches for embedded systems debugging and
in the following introduce the embedded systems debugger that has been
developed in the context of this diploma thesis. The ESD debugger does
not only provide support for standard execution control capabilities
such as breakpoints and single-stepping, but more importantly also
supports reverse execution. Allowing to run execution backwards to
previous moments in time is a very powerful concept and helps to
localize defects with more comfort and less time. While debugging allows
to reason about known failures it provides no support to guarantee
system correctness. Model Checking on the other hand is a formal
verification technique that allows to prove system correctness, however,
existing model checkers usually provide insufficient support for
counterexample analysis. The ESD debugger creates synergies between both
techniques and allows to analyse model checking counterexamples. The
talk is concluded by a tool demonstration that presents the capabilities
of the ESD debugger in more detail.

