Pinpointing interrupts in embedded real-time systems using context checksums

When trying to track down bugs using cyclic debugging, the ability to correctly reproduce executions is imperative. In sequential, deterministic, non-real-time software, this reproducibility is inherent. However, when the execution is affected by preemptive interrupts, this will have severe effects...

Full description

Saved in:
Bibliographic Details
Published in2008 IEEE International Conference on Emerging Technologies and Factory Automation pp. 774 - 781
Main Authors Sundmark, D., Thane, H.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.09.2008
Online AccessGet full text

Cover

Loading…
More Information
Summary:When trying to track down bugs using cyclic debugging, the ability to correctly reproduce executions is imperative. In sequential, deterministic, non-real-time software, this reproducibility is inherent. However, when the execution is affected by preemptive interrupts, this will have severe effects on the ability to reproduce program behaviors deterministically, since a reproduction requires the interrupts to hit the program at the exact same instructions. In previous methods, this problem has been solved using different kinds of instruction counters, that induce large execution time perturbations, demand for specialized hardware, or provide inexact results. This makes them highly unfit for resource-constrained embedded real-time systems. In this paper, we propose an alternative method for pinpointing interrupts in embedded real-time systems using context checksums, which is not dependent on specific hardware features or special compilers - but which rather can be applied to any system. Although context checksums in some cases also prove inexact or ambiguous, we show that they serve as a practical method for pinpointing and reproducing interrupts in embedded real-time systems. Furthermore, our method performs perfectly well with standard development tools and operating systems, requires no additional hardware support and, according to preliminary results, consumes merely a tenth of the execution time of existing software-based methods for pinpointing interrupts.
ISBN:9781424415052
1424415055
ISSN:1946-0740
1946-0759
DOI:10.1109/ETFA.2008.4638487