Scheduled System Maintenance:
On Monday, April 27th, IEEE Xplore will undergo scheduled maintenance from 1:00 PM - 3:00 PM ET (17:00 - 19:00 UTC). No interruption in service is anticipated.
By Topic

Pinpointing Interrupts in Embedded Real-Time Systems Using Hashed Execution Contexts

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

3 Author(s)
Sundmark, Daniel ; Sch. of Innovation, Design & Eng., Malardalen Univ., Vasteras, Sweden ; Ermedahl, A. ; Starner, J.

Cyclic debugging is the process of iteratively re-executing a failed execution in order to determine the cause of the failure, i.e., the bug. In this process, being able to correctly reproduce the faulty execution is an absolute necessity. In sequential, deterministic, non-real-time software, this reproducibility is inherent. However, when the execution is preempted by interrupts, this has severe effects on program reproducibility, since, during the reproduction, it is required for interrupts to occur at the exact same instructions. Previously, this problem has been solved using instruction counters, that induce large execution-time perturbations, or by special hardware solutions which impose a risk of inexact results. In this paper, we propose an alternative method for pinpointing interrupts using hashed values of selected parts of the program execution context. Although our method in some cases can be ambiguous, we show that it serves as a pragmatic method for pinpointing and reproducing interrupts in embedded real-time systems. Moreover, our method does not rely on special hardware or compilers, is simple to implement and use, and requires little execution-time and memory.

Published in:

Industrial Informatics, IEEE Transactions on  (Volume:5 ,  Issue: 3 )