Title :
Replay Debugging for Multi-threaded Embedded Software
Author :
Lee, Yann-Hang ; Song, Young Wn ; Girme, Rohit ; Zaveri, Sagar ; Chen, Yan
Author_Institution :
Comput. Sci. & Eng. Dept., Arizona State Univ., Tempe, AZ, USA
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 systems; multi-threading; program debugging; Lamport clock; cyclic debugging; identical partially ordered happened-before dependency; multithreaded embedded software; replay debugging; thread synchronizations; thread-level concurrency; user controlled debugging environment; Lamport clock; embedded system; multi-thread; partial order; replay debugging;
Conference_Titel :
Embedded and Ubiquitous Computing (EUC), 2010 IEEE/IFIP 8th International Conference on
Conference_Location :
Hong Kong
Print_ISBN :
978-1-4244-9719-5
Electronic_ISBN :
978-0-7695-4322-2
DOI :
10.1109/EUC.2010.13