Magiclock: Scalable Detection of Potential Deadlocks in Large-Scale Multithreaded Programs

We present Magiclock, a novel potential deadlock detection technique by analyzing execution traces (containing no deadlock occurrence) of large-scale multithreaded programs. Magiclock iteratively eliminates removable lock dependencies before potential deadlock localization. It divides lock dependenc...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on software engineering Vol. 40; no. 3; pp. 266 - 281
Main Authors: Yan Cai, Chan, W. K.
Format: Journal Article
Language:English
Published: IEEE 01.03.2014
Subjects:
ISSN:0098-5589, 1939-3520
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract We present Magiclock, a novel potential deadlock detection technique by analyzing execution traces (containing no deadlock occurrence) of large-scale multithreaded programs. Magiclock iteratively eliminates removable lock dependencies before potential deadlock localization. It divides lock dependencies into thread specific partitions, consolidates equivalent lock dependencies, and searches over the set of lock dependency chains without the need to examine any duplicated permutations of the same lock dependency chains. We validate Magiclock through a suite of real-world, large-scale multithreaded programs. The experimental results show that Magiclock is significantly more scalable and efficient than existing dynamic detectors in analyzing and detecting potential deadlocks in execution traces of large-scale multithreaded programs.
AbstractList We present Magiclock, a novel potential deadlock detection technique by analyzing execution traces (containing no deadlock occurrence) of large-scale multithreaded programs. Magiclock iteratively eliminates removable lock dependencies before potential deadlock localization. It divides lock dependencies into thread specific partitions, consolidates equivalent lock dependencies, and searches over the set of lock dependency chains without the need to examine any duplicated permutations of the same lock dependency chains. We validate Magiclock through a suite of real-world, large-scale multithreaded programs. The experimental results show that Magiclock is significantly more scalable and efficient than existing dynamic detectors in analyzing and detecting potential deadlocks in execution traces of large-scale multithreaded programs.
Author Chan, W. K.
Yan Cai
Author_xml – sequence: 1
  surname: Yan Cai
  fullname: Yan Cai
  email: ycai.mail@gmail.com
  organization: Dept. of Comput. Sci., City Univ. of Hong Kong, Hong Kong, China
– sequence: 2
  givenname: W. K.
  surname: Chan
  fullname: Chan, W. K.
  email: wkchan@cityu.edu.hk
  organization: Dept. of Comput. Sci., City Univ. of Hong Kong, Hong Kong, China
BookMark eNp9kD1PwzAQhi1UJNrCjsTiP5Bgx3Fcs6FSPqRWVGpZWKKLfSmGNEGOGfj3OGrFwMB00t37nF49EzJquxYJueQs5Zzp6-1mkWaM52kmGFeZPCFjroVOhMzYiIwZ07NEypk-I5O-f2eMSaXkmLyuYOdM05mPG7ox0EDVIL3DgCa4rqVdTdddwDY4aOIa7JDsqWvpEvwOkwFBuvpqggtvPt7R0rXvdh72_Tk5raHp8eI4p-TlfrGdPybL54en-e0yMbFgSEzFpc2xiLNmwugcKsy05bFhrZUWNeRZjigEVoornlldgNWV5SAqa2UupqQ4_DW-63uPdWlcgKF-8OCakrNyMFRGQ-VgqDwaiiD7A356twf__R9ydUAcIv7GC8VnrNDiB1y4dEg
CODEN IESEDJ
CitedBy_id crossref_primary_10_1109_TSE_2016_2537335
crossref_primary_10_1002_cpe_5324
crossref_primary_10_1109_ACCESS_2021_3116027
crossref_primary_10_1145_2963094
crossref_primary_10_1016_j_entcs_2017_02_002
crossref_primary_10_1145_3591291
crossref_primary_10_1109_TCNS_2016_2593264
crossref_primary_10_1109_TPDS_2014_2307864
crossref_primary_10_1007_s11432_017_9459_5
crossref_primary_10_1109_TSC_2016_2596288
crossref_primary_10_1109_TSE_2018_2816639
crossref_primary_10_3390_computers13040086
crossref_primary_10_1145_3229060
crossref_primary_10_1007_s11219_017_9385_3
crossref_primary_10_1109_ACCESS_2021_3097823
crossref_primary_10_1145_3276516
crossref_primary_10_1007_s13369_016_2367_0
Cites_doi 10.1147/JRD.2010.2060276
10.1109/ISSRE.2011.12
10.1145/2568225.2568312
10.1145/45075.46163
10.1145/359545.359563
10.1007/10722468_15
10.1109/APSEC.2008.68
10.1007/978-3-540-89247-2_7
10.1145/1346281.1346323
10.1145/1736020.1736040
10.1145/1806799.1806836
10.1137/0201010
10.1145/2254064.2254127
10.1109/ICSE.2009.5070538
10.1145/2254064.2254128
10.1109/TPDS.2013.13
10.1145/1147403.1147412
10.1109/ICSE.2012.6227156
10.1145/1542476.1542490
10.1145/2338965.2336780
10.1145/1993498.1993544
10.1109/ASE.2009.14
10.1145/1806596.1806626
10.1145/1542476.1542489
10.1109/ICST.2011.22
10.1145/1065010.1065034
10.1145/1882291.1882339
10.1145/2442516.2442560
10.1145/1542476.1542491
ContentType Journal Article
DBID 97E
RIA
RIE
AAYXX
CITATION
DOI 10.1109/TSE.2014.2301725
DatabaseName IEEE Xplore (IEEE)
IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE/IET Electronic Library (IEL)
CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1939-3520
EndPage 281
ExternalDocumentID 10_1109_TSE_2014_2301725
6718069
Genre orig-research
GroupedDBID --Z
-DZ
-~X
.4S
.DC
0R~
29I
3EH
4.4
5GY
5VS
6IK
7WY
7X7
85S
88E
88I
8FE
8FG
8FI
8FJ
8FL
8G5
8R4
8R5
97E
9M8
AAJGR
AARMG
AASAJ
AAWTH
ABAZT
ABFSI
ABJCF
ABPPZ
ABQJQ
ABUWG
ABVLG
ACGFO
ACGOD
ACIWK
ACNCT
ADBBV
AENEX
AETIX
AFKRA
AGQYO
AGSQL
AHBIQ
AI.
AIBXA
AKJIK
AKQYR
ALLEH
ALMA_UNASSIGNED_HOLDINGS
ARAPS
ARCSS
ASUFR
ATWAV
AZQEC
BEFXN
BENPR
BEZIV
BFFAM
BGLVJ
BGNUA
BKEBE
BKOMP
BPEOZ
BPHCQ
BVXVI
CCPQU
CS3
DU5
DWQXO
E.L
EBS
EDO
EJD
FRNLG
FYUFA
GNUQQ
GROUPED_ABI_INFORM_RESEARCH
GUQSH
HCIFZ
HMCUK
HZ~
H~9
I-F
IBMZZ
ICLAB
IEDLZ
IFIPE
IFJZH
IPLJI
ITG
ITH
JAVBF
K60
K6V
K6~
K7-
L6V
LAI
M0C
M1P
M1Q
M2O
M2P
M43
M7S
MS~
O9-
OCL
OHT
P2P
P62
PHGZM
PHGZT
PJZUB
PPXIY
PQBIZ
PQBZA
PQGLB
PQQKQ
PROAC
PSQYO
PTHSS
PUEGO
Q2X
RIA
RIE
RNI
RNS
RXW
RZB
S10
TAE
TN5
TWZ
UHB
UKHRP
UPT
UQL
VH1
WH7
XOL
YYP
YZZ
ZCG
AAYXX
AFFHD
CITATION
ID FETCH-LOGICAL-c193t-cb15d4e6cb1f03c94abe29d1005f9793fa424ee33eb71712d96ad9bd1a3bdd543
IEDL.DBID RIE
ISICitedReferencesCount 40
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000334666500004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0098-5589
IngestDate Sat Nov 29 03:10:23 EST 2025
Tue Nov 18 20:52:05 EST 2025
Wed Aug 27 02:47:43 EDT 2025
IsPeerReviewed true
IsScholarly true
Issue 3
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c193t-cb15d4e6cb1f03c94abe29d1005f9793fa424ee33eb71712d96ad9bd1a3bdd543
PageCount 16
ParticipantIDs crossref_citationtrail_10_1109_TSE_2014_2301725
ieee_primary_6718069
crossref_primary_10_1109_TSE_2014_2301725
PublicationCentury 2000
PublicationDate 2014-March
2014-3-00
PublicationDateYYYYMMDD 2014-03-01
PublicationDate_xml – month: 03
  year: 2014
  text: 2014-March
PublicationDecade 2010
PublicationTitle IEEE transactions on software engineering
PublicationTitleAbbrev TSE
PublicationYear 2014
Publisher IEEE
Publisher_xml – name: IEEE
References ref35
ref34
(ref5) 2014
ref37
ref36
ref14
ref30
ref33
ref32
(ref7) 2014
ref39
ref17
ref38
ref16
ref19
ref18
(ref11) 2014
(ref1) 2014
jula (ref31) 2008
bensalem (ref15) 2005
(ref13) 2014
(ref9) 2014
farchi (ref25) 2005
(ref4) 2014
ref24
ref23
ref26
ref47
ref20
ref42
ref22
ref44
ref21
ref43
wang (ref45) 2008
(ref6) 2014
williams (ref46) 2005
ref28
ref27
(ref10) 2014
ref29
(ref2) 2014
(ref8) 2014
(ref3) 2014
nir-buchbinder (ref41) 2008
ref40
(ref12) 2014
References_xml – year: 2014
  ident: ref13
– year: 2005
  ident: ref25
  article-title: A Cross-Run Lock Discipline Checker for Java
  publication-title: Proc Parallel and Distributed Systems Testing and Debugging (Padtad - 3) IBM Verification Conf (PADTAD)
– ident: ref14
  doi: 10.1147/JRD.2010.2060276
– year: 2014
  ident: ref1
– ident: ref20
  doi: 10.1109/ISSRE.2011.12
– ident: ref23
  doi: 10.1145/2568225.2568312
– ident: ref32
  doi: 10.1145/45075.46163
– start-page: 295
  year: 2008
  ident: ref31
  article-title: Deadlock Immunity: Enabling Systems to Defend against Deadlocks
  publication-title: Proc Eighth USENIX Conf Operating Systems Design and Implementation (OSDI)
– ident: ref34
  doi: 10.1145/359545.359563
– year: 2014
  ident: ref12
– year: 2014
  ident: ref6
– ident: ref27
  doi: 10.1007/10722468_15
– ident: ref43
  doi: 10.1109/APSEC.2008.68
– year: 2014
  ident: ref9
– start-page: 104
  year: 2008
  ident: ref41
  article-title: Deadlocks: From Exhibiting to Healing
  publication-title: Proc Eighth Int?l Workshop Runtime Verification (RV)
  doi: 10.1007/978-3-540-89247-2_7
– year: 2014
  ident: ref4
– ident: ref35
  doi: 10.1145/1346281.1346323
– ident: ref17
  doi: 10.1145/1736020.1736040
– ident: ref33
  doi: 10.1145/1806799.1806836
– year: 2014
  ident: ref5
– ident: ref44
  doi: 10.1137/0201010
– year: 2014
  ident: ref11
– ident: ref42
  doi: 10.1145/2254064.2254127
– year: 2014
  ident: ref3
– ident: ref39
  doi: 10.1109/ICSE.2009.5070538
– ident: ref40
  doi: 10.1145/2254064.2254128
– ident: ref19
  doi: 10.1109/TPDS.2013.13
– year: 2014
  ident: ref8
– start-page: 602
  year: 2005
  ident: ref46
  article-title: Static Deadlock Detection for Java Libraries
  publication-title: Proc 19th European Conf Object-Oriented Programming (ECOOP)
– ident: ref16
  doi: 10.1145/1147403.1147412
– ident: ref21
  doi: 10.1109/ICSE.2012.6227156
– ident: ref26
  doi: 10.1145/1542476.1542490
– ident: ref47
  doi: 10.1145/2338965.2336780
– year: 2005
  ident: ref15
  article-title: Scalable Dynamic Deadlock Analysis of Multi-Threaded Programs
  publication-title: Proc Parallel and Distributed Systems Testing and Debugging (Padtad - 3) IBM Verification Conf (PADTAD)
– year: 2014
  ident: ref10
– ident: ref28
  doi: 10.1145/1993498.1993544
– start-page: 281
  year: 2008
  ident: ref45
  article-title: Gadara: Dynamic Deadlock Avoidance for Multithreaded Programs
  publication-title: Proc Eighth USENIX Conf Operating Systems Design and Implementation (OSDI)
– ident: ref24
  doi: 10.1109/ASE.2009.14
– ident: ref18
  doi: 10.1145/1806596.1806626
– ident: ref30
  doi: 10.1145/1542476.1542489
– ident: ref37
  doi: 10.1109/ICST.2011.22
– year: 2014
  ident: ref2
– ident: ref36
  doi: 10.1145/1065010.1065034
– ident: ref29
  doi: 10.1145/1882291.1882339
– year: 2014
  ident: ref7
– ident: ref22
  doi: 10.1145/2442516.2442560
– ident: ref38
  doi: 10.1145/1542476.1542491
SSID ssj0005775
ssib053395008
Score 2.2911184
Snippet We present Magiclock, a novel potential deadlock detection technique by analyzing execution traces (containing no deadlock occurrence) of large-scale...
SourceID crossref
ieee
SourceType Enrichment Source
Index Database
Publisher
StartPage 266
SubjectTerms Classification algorithms
concurrency
Deadlock detection
Image edge detection
Instruction sets
lock order graph
Message systems
Monitoring
Multicore processing
multithreaded programs
scalability
System recovery
Title Magiclock: Scalable Detection of Potential Deadlocks in Large-Scale Multithreaded Programs
URI https://ieeexplore.ieee.org/document/6718069
Volume 40
WOSCitedRecordID wos000334666500004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVIEE
  databaseName: IEEE Electronic Library (IEL)
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: RIE
  dateStart: 19750101
  isFulltext: true
  titleUrlDefault: https://ieeexplore.ieee.org/
  providerName: IEEE
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEF5q8eDFqlWsL_bgRTA222yyWW9iWzxoKViheAn7mECxpNKm_n5n86gKInhKWGZCmC-7M5v9ZoaQS8aF9UGGHmfMejy12sOomns6wOg-7BmhYlM0mxCjUTydynGDXG9yYQCgIJ_BjbstzvLtwqzdr7JuhAupH8ktsiVEVOZqfdE5hAjr-phhGMv6SNKX3cnzwHG4uCM9o78Of7igbz1VCpcybP3vZfbIbhU60rsS633SgOyAtOq2DLSapW3y-qRwOUMn9XaLg2rukqNoH_KCdJXRRUrHi9yRhPBhfYTYSa7oLKOPjhXuORWgZWIuAq0sWDouWVyrQ_IyHEzuH7yqhYJnMDLLPaNZaDlEeE39wEiuNPSkZWivVOLUTBXvcYAgAI37OtazMlJWastUoK0NeXBEmtkig2NC08gXCiQXqM6NZDqAmPlaqghkioFkh3Rrqyamqi_u2lzMk2Kf4csEcUgcDkmFQ4dcbTTey9oaf8i2HQQbucr6J78Pn5Idp1xyxc5IM1-u4Zxsm498tlpeFB_OJ-r0wJs
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEB58gV58i_W5By-Csdlmk3S9iQ8qtqVgBfES9jGBYkmlTf39ziZpVRDBU8Iyu4T5sjuzu9_MAJxxEVsfZegJzq0nUqs98qqFpwPy7sOGiVXTFMUm4m63-fIiewtwMY-FQcSCfIaX7rW4y7cjM3VHZfWIFlI_kouwHJId9ctorS9CRxyHswyZYdiUs0tJX9b7T3eOxSUc7ZksdvjDCH2rqlIYlfuN_33OJqxXziO7LtHeggXMtmFjVpiBVfN0B147ihY0MlNvV9Sohi48it1iXtCuMjZKWW-UO5oQDXZLIDvJCRtkrO144Z7rgqwMzSWolUXLeiWPa7ILz_d3_ZuWVxVR8Az5ZrlnNA-twIieqR8YKZTGhrSc9JVKmpypEg2BGASoaWfHG1ZGykptuQq0taTnPVjKRhnuA0sjP1YoRUzdhZFcB9jkvpYqQpmSK1mD-kyriakyjLtCF8Ok2Gn4MiEcEodDUuFQg_N5j_cyu8YfsjsOgrlcpf2D35tPYbXV77ST9kP38RDW3EAlc-wIlvLxFI9hxXzkg8n4pPiJPgEpG8Po
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Magiclock%3A+Scalable+Detection+of+Potential+Deadlocks+in+Large-Scale+Multithreaded+Programs&rft.jtitle=IEEE+transactions+on+software+engineering&rft.au=Yan+Cai&rft.au=Chan%2C+W.+K.&rft.date=2014-03-01&rft.pub=IEEE&rft.issn=0098-5589&rft.volume=40&rft.issue=3&rft.spage=266&rft.epage=281&rft_id=info:doi/10.1109%2FTSE.2014.2301725&rft.externalDocID=6718069
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0098-5589&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0098-5589&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0098-5589&client=summon