Replay debugging for multi-threaded embedded software

Yann-Hang Lee, Young Wn Song, Rohit Girme, Sagar Zaveri, Yan Chen

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Scopus citations

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.

Original languageEnglish (US)
Title of host publicationProceedings - IEEE/IFIP International Conference on Embedded and Ubiquitous Computing, EUC 2010
Pages15-22
Number of pages8
DOIs
StatePublished - 2010
EventIEEE/IFIP 8th International Conference on Embedded and Ubiquitous Computing, EUC 2010 - Hong Kong, China
Duration: Dec 11 2010Dec 13 2010

Publication series

NameProceedings - IEEE/IFIP International Conference on Embedded and Ubiquitous Computing, EUC 2010

Other

OtherIEEE/IFIP 8th International Conference on Embedded and Ubiquitous Computing, EUC 2010
Country/TerritoryChina
CityHong Kong
Period12/11/1012/13/10

Keywords

  • Embedded system
  • Lamport clock
  • Multi-thread
  • Partial order
  • Replay debugging

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Replay debugging for multi-threaded embedded software'. Together they form a unique fingerprint.

Cite this