TY - GEN
T1 - Dynamic analysis of embedded software using execution replay
AU - Song, Young Wn
AU - Lee, Yann-Hang
PY - 2014/9/15
Y1 - 2014/9/15
N2 - For program optimization and debugging, dynamic analysis tools, e.g., profiler, data race detector, are widely used. To gather execution information, software instrumentation is often employed for its portability and convenience. Unfortunately, instrumentation overhead may change the execution of a program and lead to distorted analysis results, i.e., probe effect. In embedded software which usually consists of multiple threads and external inputs, program executions are determined by the timing of external inputs and the order of thread executions. Hence, probe effect incurred in an analysis of embedded software will be more prominent than in desktop software. This paper presents a reliable dynamic analysis method for embedded software using deterministic replay. The idea is to record thread executions and I/O with minimal record overhead and to apply dynamic analysis tools in replayed execution. For this end, we have developed a record/replay framework called P-Replayer, based on Lamport's happens-before relation. Our experimental results show that dynamic analyses can be managed in the replay execution enabled by P-Replayer as if there is no instrumentation on the program.
AB - For program optimization and debugging, dynamic analysis tools, e.g., profiler, data race detector, are widely used. To gather execution information, software instrumentation is often employed for its portability and convenience. Unfortunately, instrumentation overhead may change the execution of a program and lead to distorted analysis results, i.e., probe effect. In embedded software which usually consists of multiple threads and external inputs, program executions are determined by the timing of external inputs and the order of thread executions. Hence, probe effect incurred in an analysis of embedded software will be more prominent than in desktop software. This paper presents a reliable dynamic analysis method for embedded software using deterministic replay. The idea is to record thread executions and I/O with minimal record overhead and to apply dynamic analysis tools in replayed execution. For this end, we have developed a record/replay framework called P-Replayer, based on Lamport's happens-before relation. Our experimental results show that dynamic analyses can be managed in the replay execution enabled by P-Replayer as if there is no instrumentation on the program.
KW - deterministic replay
KW - embedded software
KW - probe effect
KW - profiling
KW - program dynamic analysis
UR - http://www.scopus.com/inward/record.url?scp=84941265470&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84941265470&partnerID=8YFLogxK
U2 - 10.1109/ISORC.2014.16
DO - 10.1109/ISORC.2014.16
M3 - Conference contribution
AN - SCOPUS:84941265470
T3 - Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014
SP - 166
EP - 173
BT - Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 17th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014
Y2 - 9 June 2014 through 12 June 2014
ER -