TY - GEN
T1 - On the existence of probe effect in multi-threaded embedded programs
AU - Song, Young Wn
AU - Lee, Yann-Hang
PY - 2014/10/12
Y1 - 2014/10/12
N2 - Software instrumentation has been a convenient and portable approach for dynamic analysis, debugging, or profiling of program execution. Unfortunately, instrumentation may change the temporal behavior of multi-threaded program execution and result in different ordering of thread operations, which is called probe effect. While the approaches to reduce instrumentation overhead, to enable reproducible execution, and to enforce deterministic threading have been studied, no research has yet answered if an instrumented execution has the same behavior as the program execution without any instrumentation and how the execution gets changed if there were any. In this paper, we propose a simulation-based analysis to detect the changes of execution event ordering that are induced by instrumentation operations. The execution model of a program is constructed from the trace of instrumented program execution and is used in a simulation analysis where instrumentation overhead is removed. As a consequence, we can infer the ordering of events in the original program execution and verify the existence of probe effect resulted from instrumentation.
AB - Software instrumentation has been a convenient and portable approach for dynamic analysis, debugging, or profiling of program execution. Unfortunately, instrumentation may change the temporal behavior of multi-threaded program execution and result in different ordering of thread operations, which is called probe effect. While the approaches to reduce instrumentation overhead, to enable reproducible execution, and to enforce deterministic threading have been studied, no research has yet answered if an instrumented execution has the same behavior as the program execution without any instrumentation and how the execution gets changed if there were any. In this paper, we propose a simulation-based analysis to detect the changes of execution event ordering that are induced by instrumentation operations. The execution model of a program is constructed from the trace of instrumented program execution and is used in a simulation analysis where instrumentation overhead is removed. As a consequence, we can infer the ordering of events in the original program execution and verify the existence of probe effect resulted from instrumentation.
KW - Event ordering
KW - Multi-threaded program
KW - Probe effect
KW - Profiling
KW - Reproducible execution
KW - Software instrumentation
UR - http://www.scopus.com/inward/record.url?scp=84910151934&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84910151934&partnerID=8YFLogxK
U2 - 10.1145/2656045.2656062
DO - 10.1145/2656045.2656062
M3 - Conference contribution
AN - SCOPUS:84910151934
T3 - 2014 Proceedings of the International Conference on Embedded Software, EMSOFT 2014
BT - 2014 Proceedings of the International Conference on Embedded Software, EMSOFT 2014
PB - Association for Computing Machinery, Inc
T2 - 14th International Conference on Embedded Software, EMSOFT 2014
Y2 - 12 October 2014 through 17 October 2014
ER -