@inproceedings{268c520bed6645a5b85571557355e4d6,
title = "Replay debugging for multi-threaded embedded software",
abstract = "The non-deterministic behavior of multi-threaded embedded software makes cyclic debugging difficult. Even with the same input data, consecutive runs may result in different executions and reproducing the same bug is itself a challenge. Despite the fact that several approaches have been proposed for deterministic replay, none of them attends to the capabilities and functionalities that replay can comprise for better debugging. This paper introduces a practical replay mechanism for multi-threaded embedded software. The Replay Debugger, based on Lamport clock, offers a user controlled debugging environment in which the program execution follows the identical partially ordered happened-before dependency among threads and IO events as that of the recorded run. With the order of thread synchronizations assured, users can focus their debugging effort in the program behavior of any threads while having a comprehension of thread-level concurrency. Using a set of benchmark programs, experiment results of a prototyped implementation show that, in average, the software based approach incurs a small probe effect of 3.3% in its record stage.",
keywords = "Embedded system, Lamport clock, Multi-thread, Partial order, Replay debugging",
author = "Yann-Hang Lee and Song, {Young Wn} and Rohit Girme and Sagar Zaveri and Yan Chen",
year = "2010",
doi = "10.1109/EUC.2010.13",
language = "English (US)",
isbn = "9780769543222",
series = "Proceedings - IEEE/IFIP International Conference on Embedded and Ubiquitous Computing, EUC 2010",
pages = "15--22",
booktitle = "Proceedings - IEEE/IFIP International Conference on Embedded and Ubiquitous Computing, EUC 2010",
note = "IEEE/IFIP 8th International Conference on Embedded and Ubiquitous Computing, EUC 2010 ; Conference date: 11-12-2010 Through 13-12-2010",
}