Dynamic analysis of embedded software using execution replay

Young Wn Song, Yann-Hang Lee

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

1 Citation (Scopus)

Abstract

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.

Original languageEnglish (US)
Title of host publicationProceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages166-173
Number of pages8
ISBN (Print)9781479944309
DOIs
StatePublished - Sep 15 2014
Event17th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014 - Reno, United States
Duration: Jun 9 2014Jun 12 2014

Other

Other17th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014
CountryUnited States
CityReno
Period6/9/146/12/14

Fingerprint

Embedded software
Dynamic analysis
Detectors

Keywords

  • deterministic replay
  • embedded software
  • probe effect
  • profiling
  • program dynamic analysis

ASJC Scopus subject areas

  • Computer Science (miscellaneous)
  • Computer Networks and Communications
  • Software

Cite this

Song, Y. W., & Lee, Y-H. (2014). Dynamic analysis of embedded software using execution replay. In Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014 (pp. 166-173). [6899145] Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/ISORC.2014.16

Dynamic analysis of embedded software using execution replay. / Song, Young Wn; Lee, Yann-Hang.

Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014. Institute of Electrical and Electronics Engineers Inc., 2014. p. 166-173 6899145.

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

Song, YW & Lee, Y-H 2014, Dynamic analysis of embedded software using execution replay. in Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014., 6899145, Institute of Electrical and Electronics Engineers Inc., pp. 166-173, 17th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014, Reno, United States, 6/9/14. https://doi.org/10.1109/ISORC.2014.16
Song YW, Lee Y-H. Dynamic analysis of embedded software using execution replay. In Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014. Institute of Electrical and Electronics Engineers Inc. 2014. p. 166-173. 6899145 https://doi.org/10.1109/ISORC.2014.16
Song, Young Wn ; Lee, Yann-Hang. / Dynamic analysis of embedded software using execution replay. Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014. Institute of Electrical and Electronics Engineers Inc., 2014. pp. 166-173
@inproceedings{de54828d849a4f35b8719da2d99b3a26,
title = "Dynamic analysis of embedded software using execution replay",
abstract = "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.",
keywords = "deterministic replay, embedded software, probe effect, profiling, program dynamic analysis",
author = "Song, {Young Wn} and Yann-Hang Lee",
year = "2014",
month = "9",
day = "15",
doi = "10.1109/ISORC.2014.16",
language = "English (US)",
isbn = "9781479944309",
pages = "166--173",
booktitle = "Proceedings - IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2014",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

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

SN - 9781479944309

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.

ER -