Automated Test-Trace Inspection for Microcontroller Binary Code

  • Thomas Reinbacher
  • Jörg Brauer
  • Daniel Schachinger
  • Andreas Steininger
  • Stefan Kowalewski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7186)

Abstract

This paper presents a non-intrusive framework for runtime verification of executable microcontroller code. A dedicated hardware unit is attached to a microcontroller, which executes the program under scrutiny, to track atomic propositions stated as assertions over program variables. The truth verdicts over the assertions are the inputs to a custom-designed μCPU unit that evaluates past-time LTL specifications in parallel to program execution. To achieve this, the instruction set of the μCPU is tailored to determining satisfaction of specifications.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Belinfante, A., Frantzen, L., Schallhart, C.: 14 Tools for Test Case Generation. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 391–438. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Chen, F., Roşu, G.: MOP: An efficient and generic runtime verification framework. In: OOPSLA, pp. 569–588. ACM (2007)Google Scholar
  3. 3.
    Drusinsky, D.: The Temporal Rover and the ATG Rover. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 323–330. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  4. 4.
    Emerson, E.A.: Temporal and modal logic. In: Handbook of Theoretical Computer Science, vol. B, pp. 995–1072. MIT Press (1990)Google Scholar
  5. 5.
    Havelund, K., Roşu, G.: An Overview of the Runtime Verification Tool Java PathExplorer. Form. Methods Syst. Des. 24(2), 189–215 (2004)MATHCrossRefGoogle Scholar
  6. 6.
    Havelund, K.: Runtime Verification of C Programs. In: Suzuki, K., Higashino, T., Ulrich, A., Hasegawa, T. (eds.) TestCom/FATES 2008. LNCS, vol. 5047, pp. 7–22. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Havelund, K., Roşu, G.: Synthesizing Monitors for Safety Properties. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 342–356. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Reinbacher, T., Brauer, J., Horauer, M., Steininger, A., Kowalewski, S.: Past Time LTL Runtime Verification for Microcontroller Binary Code. In: Salaün, G., Schätz, B. (eds.) FMICS 2011. LNCS, vol. 6959, pp. 37–51. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Tsai, J.J.P., Fang, K.Y., Chen, H.Y., Bi, Y.D.: A Noninterference Monitoring and Replay Mechanism for Real-Time Software Testing and Debugging. IEEE Trans. Softw. Eng. 16, 897–916 (1990)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Thomas Reinbacher
    • 1
  • Jörg Brauer
    • 2
  • Daniel Schachinger
    • 1
  • Andreas Steininger
    • 1
  • Stefan Kowalewski
    • 2
  1. 1.Embedded Computing Systems GroupVienna University of TechnologyAustria
  2. 2.Embedded Software LaboratoryRWTH Aachen UniversityGermany

Personalised recommendations