Skip to main navigation Skip to search Skip to main content

Debugging multithreaded programs using symbolic analysis

  • Xi'an Jiaotong University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

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.

Original languageEnglish
Title of host publicationProceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages557-558
Number of pages2
ISBN (Electronic)9781509060313
DOIs
StatePublished - 15 May 2017
Event10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017 - Tokyo, Japan
Duration: 13 Mar 201717 Mar 2017

Publication series

NameProceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
Volume2017-May

Conference

Conference10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
Country/TerritoryJapan
CityTokyo
Period13/03/1717/03/17

Fingerprint

Dive into the research topics of 'Debugging multithreaded programs using symbolic analysis'. Together they form a unique fingerprint.

Cite this