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...
Gespeichert in:
| Veröffentlicht in: | IEEE transactions on software engineering Jg. 40; H. 3; S. 266 - 281 |
|---|---|
| Hauptverfasser: | , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
IEEE
01.03.2014
|
| Schlagworte: | |
| ISSN: | 0098-5589, 1939-3520 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| 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 All-Society Periodicals Package (ASPP) 2005–Present IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE 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/eLvHCXMwlV3dS8MwED_m8MEXp05xfpEHXwTr2qZpG9_EbfigY-CE4UtJ8wHD0crW-fd76cdUEMGnlnAp5X5J7i75XQ7gUsSGhui14eBNMUChUjhCBtQRijEjjR9oaspiE9F4HM9mfNKC600ujNa6JJ_pG_tanuWrXK7tVlk_xIXUDfkWbEVRWOVqfdE5oog192MyFvPmSNLl_enz0HK4Akt6RnvNfpigbzVVSpMy6vzvZ_Zgt3YdyV2F9T60dHYAnaYsA6lnaRdenwQuZ2ik3m6xUSxschQZ6KIkXWUkN2SSF5YkhB8bIMRWckXmGXm0rHDHdtGkSsxFoIXSikwqFtfqEF5Gw-n9g1OXUHAkemaFI1OPqUCH-DQulTwQqfa58lBfhuPUNCJAODSlOsW4zvMVD4XiqfIETZViAT2CdpZn-hiIT5XGEJYJZetVKy-WoQkM5anhsTHM70G_0Woi6_vFbZmLRVLGGS5PEIfE4pDUOPTgatPjvbpb4w_ZroVgI1dr_-T35lPYsZ0rrtgZtIvlWp_Dtvwo5qvlRTlwPgHP9cGE |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3dS8MwED_mFPTF-YnzMw--CNa1TdM1voluTNzGwAnDl5LmA4ajk63z7_fSdlNBBJ9awiWU-yW5XPO7O4BLERka4qkNJ2-CDgqVwhEyoI5QjBlp_EBTkxebaPb70WjEBxW4XsXCaK1z8pm-sa_5Xb6ayoX9VdYIcSN1Q74G6wztqFtEa30ROppNtsyQyVjEl5eSLm8Mn1uWxRVY2jNabPbDCH2rqpIblXbtf5-zA9vl4ZHcFWjvQkWne1BbFmYg5Trdh9eewA0NzdTbLTaKiQ2PIg86y2lXKZkaMphmliaEgz0gyFZyTsYp6VpeuGO7aFKE5iLUQmlFBgWPa34AL-3W8L7jlEUUHIlns8yRicdUoEN8GpdKHohE-1x5qC_DcXEaESAgmlKdoGfn-YqHQvFEeYImSqGeD6GaTlN9BMSnSqMTy4SyFauVF8nQBIbyxPDIGObXobHUaizLDOO20MUkzj0Nl8eIQ2xxiEsc6nC16vFeZNf4Q3bfQrCSK7V__HvzBWx2hr1u3H3sP53Alh2oYI6dQjWbLfQZbMiPbDyfneeT6BMaZsTR |
| 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=Cai%2C+Yan&rft.au=Chan%2C+W.K.&rft.date=2014-03-01&rft.issn=0098-5589&rft.eissn=1939-3520&rft.volume=40&rft.issue=3&rft.spage=266&rft.epage=281&rft_id=info:doi/10.1109%2FTSE.2014.2301725&rft.externalDBID=n%2Fa&rft.externalDocID=10_1109_TSE_2014_2301725 |
| 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 |