Deadlock Detection and Replay of Multi-Thread Programs Based on Refined Segmentation and Lock Graphs

Dynamic deadlock detection methods build segmentation graphs and lock graphs by extracting program behavior information from its running traces. However, existing segmentation graphs cannot model causal dependence caused by coupling of lock acquisition and thread fork operations. Lock sets in existing lock graphs cannot capture the information that a lock is held first and released soon. Both problems lead to false positives. In this work, segments in segmentation graphs are divided into fine-grained ones by identifying more causal dependence implied in a running trace. Segmentation graphs and lock graphs are extended with detailed lock acquisition and release information, based on which a deadlock detection method is proposed. To ensure authenticity of detected potential deadlocks, a deterministic scheduling scheme for deadlock replay is derived. In experiments, the proposed methods are implemented in CalFuzzer and its performance is better than PNULock and SegLock in terms of detection accuracy as well as time and memory overhead on eight Java multi-thread program examples.

Authors

Publication Details

Journal
Tsinghua Science & Technology
Published
2026-04-01
DOI
https://doi.org/10.26599/tst.2025.9010085
Primary Topic
Security and Verification in Computing
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Deadlock Detection and Replay of Multi-Thread Programs Based on Refined Segmentation and Lock Graphs

Guiyuan Yuan, Jiajing Zheng, Faming Lu, Yunxia Bao et al.
Tsinghua Science & Technology
Security and Verification in Computing
article

Deadlock Detection and Replay of Multi-Thread Programs Based on Refined Segmentation and Lock Graphs

Guiyuan Yuan, Jiajing Zheng, Faming Lu, Yunxia Bao, Xiaoyu Wang
article en

Abstract

Dynamic deadlock detection methods build segmentation graphs and lock graphs by extracting program behavior information from its running traces. However, existing segmentation graphs cannot model causal dependence caused by coupling of lock acquisition and thread fork operations. Lock sets in existing lock graphs cannot capture the information that a lock is held first and released soon. Both problems lead to false positives. In this work, segments in segmentation graphs are divided into fine-grained ones by identifying more causal dependence implied in a running trace. Segmentation graphs and lock graphs are extended with detailed lock acquisition and release information, based on which a deadlock detection method is proposed. To ensure authenticity of detected potential deadlocks, a deterministic scheduling scheme for deadlock replay is derived. In experiments, the proposed methods are implemented in CalFuzzer and its performance is better than PNULock and SegLock in terms of detection accuracy as well as time and memory overhead on eight Java multi-thread program examples.

Tsinghua Science & Technology
Openalex Percentile: Top 6%
Security and Verification in Computing
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.