Dl-Check: Dynamic Potential Deadlock Detection Tool for Java']Java Programs

被引:0
|
作者
Koval, Nikita [1 ]
Tsitelov, Dmitry [2 ]
Elizarov, Roman [2 ]
机构
[1] ITMO Univ, Comp Technol Dept, St Petersburg, Russia
[2] Devexperts, dxLab, St Petersburg, Russia
来源
关键词
Potential deadlock detection; Lock-order graph; Dynamic analysis; !text type='Java']Java[!/text;
D O I
10.1007/978-3-319-71734-0_6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Deadlocks are one of the main problems in multithreaded programming. This paper presents a novel approach to detecting potential deadlocks at run-time. As opposed to many dynamic methods based on analyzing execution traces, it detects a potential deadlock immediately at the point of the lock hierarchy violation which happens first during execution, so all the run-time context is available at the point of detection. The approach is based on the target program instrumentation to capture lock acquisition and release operations. An acyclic lock-order graph is maintained incrementally, so cycles are detected during graph maintenance. The presented algorithm is based on topological order maintenance and uses various heuristics and concurrent data structures which improve performance and scalability. Experimental results show that Dl-Check is efficient for large-scale multithreaded applications.
引用
收藏
页码:64 / 76
页数:13
相关论文
共 50 条
  • [41] A mutation analysis tool for Java programs
    P. Chevalley
    P. Thévenod-Fosse
    International Journal on Software Tools for Technology Transfer, 2003, 5 (1) : 90 - 103
  • [42] A study of potential parallelism among traces in Java']Java programs
    Bradel, Borys J.
    Abdelrahman, Tarek S.
    SCIENCE OF COMPUTER PROGRAMMING, 2009, 74 (5-6) : 296 - 313
  • [43] Deadlock-Detection in Java']Java-Library using Static-Analysis
    Shanbhag, Vivek K.
    APSEC 2008:15TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2008, : 361 - 368
  • [44] A Profiling Tool for Exploiting use of Packed Objects in Java']Java Programs
    Pandya, Umang
    Kent, Kenneth B.
    Aubanel, Eric
    Taylor, Karl
    2016 IEEE CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (CCECE), 2016,
  • [45] <bold>Crisp - A Fault Localization Tool for Java']Java Programs</bold>
    Chesley, Ophelia C.
    Ren, Xiaoxia
    Ryder, Barbara G.
    Tip, Frank
    ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 775 - +
  • [46] LCT: A Parallel Distributed Testing Tool for Multithreaded Java']Java Programs
    Kahkonen, Kari
    Saarikivi, Olli
    Heljanko, Keijo
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2013, 296 : 253 - 259
  • [47] Modeling Time in Java']Java Programs for Automatic Error Detection
    Liva, Giovanni
    Khan, Muhammad Taimoor
    Spegni, Francesco
    Spalazzi, Luca
    Bollin, Andreas
    Pinzger, Martin
    2018 ACM/IEEE CONFERENCE ON FORMAL METHODS IN SOFTWARE ENGINEERING (FORMALISE 2018), 2018, : 50 - 59
  • [48] Plagiarism Detection for Java']Java Programs without Source Codes
    Anjali, V
    Swapna, T. R.
    Jayaraman, Bharat
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATION TECHNOLOGIES, ICICT 2014, 2015, 46 : 749 - 758
  • [49] OJXPerf: Featherlight Object Replica Detection for Java']Java Programs
    Li, Bolun
    Xu, Hao
    Zhao, Qidong
    Su, Pengfei
    Chabbi, Milind
    Jiao, Shuyin
    Liu, Xu
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 1558 - 1570
  • [50] Automatic Detection of Shared Objects in Multithreaded Java']Java Programs
    Tolubaeva, Munara
    Can, Aysu Betin
    2008 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE FOR MODELLING CONTROL & AUTOMATION, VOLS 1 AND 2, 2008, : 522 - 526