TY - GEN
T1 - Debugging multithreaded programs using symbolic analysis
AU - Zhang, Xiaodong
AU - Liu, Ting
AU - Yang, Zijiang
N1 - Publisher Copyright:
© 2017 IEEE.
PY - 2017/5/15
Y1 - 2017/5/15
N2 - Debugging multithreaded software is challenging because the basic assumption that underlies sequential software debugging, i.e. the program behavior is deterministic under fixed inputs, is no longer valid due to the nondeterminism brought by thread scheduling. To restore this basic assumption, we propose a proactive debugging method so that programmers can debug multithreaded programs as if they were sequential. Our approach is based on the synergistic integration of a set of new symbolic analysis and dynamic analysis techniques. In particular, symbolic analysis is used to investigate the program behavior under multiple thread interleavings and then drive the dynamic execution to new branches. Dynamic analysis is used to execute these new branches and in turn guide the symbolic analysis further. The net effect of applying this feedback loop is a systematic and complete coverage of the program behavior under a fixed test input.
AB - Debugging multithreaded software is challenging because the basic assumption that underlies sequential software debugging, i.e. the program behavior is deterministic under fixed inputs, is no longer valid due to the nondeterminism brought by thread scheduling. To restore this basic assumption, we propose a proactive debugging method so that programmers can debug multithreaded programs as if they were sequential. Our approach is based on the synergistic integration of a set of new symbolic analysis and dynamic analysis techniques. In particular, symbolic analysis is used to investigate the program behavior under multiple thread interleavings and then drive the dynamic execution to new branches. Dynamic analysis is used to execute these new branches and in turn guide the symbolic analysis further. The net effect of applying this feedback loop is a systematic and complete coverage of the program behavior under a fixed test input.
UR - https://www.scopus.com/pages/publications/85043682601
U2 - 10.1109/ICST.2017.73
DO - 10.1109/ICST.2017.73
M3 - 会议稿件
AN - SCOPUS:85043682601
T3 - Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
SP - 557
EP - 558
BT - Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
Y2 - 13 March 2017 through 17 March 2017
ER -