Recoplay: An Effective Record-Replay Approach to Debugging Complex Embedded Software
Woojong Kim, 맹지찬, Min-Kyu Sin, Tae‐Woong Kim, Minsoo Ryu · ICEIC : International Conference on Electronics, Informations and Communications · 2008
The increasing complexity of embedded software makes debugging as a major challenge in the development process. Recent embedded software tends to be multithreaded and interactive, and thus often produces nondeterministic faults depending on the precise timing of thread executions and event occurrences. It has been widely accepted as a very difficult job to debug such concurrent and interactive software. In this paper we propose an effective approach to debugging such complex embedded software. The proposed technique, called Recoplay, can capture at runtime critical events and reproduce the same behavior during the debug phase. Major contributions of this paper are as follows. First, Recoplay can capture various types of events ranging from application-level interactions to low-level events that may stem from operating system kernel or hardware. Second, it provides instruction-level timing accuracy when replaying the target software, thereby enabling a reproduction of performancesensitive faults. Third, it permits to use a conventional debugger without additional integration effort so that a developer can exploit traditional debugging techniques such as single-stepping and breakpoint settings.