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 条
  • [1] A deadlock detection tool for concurrent Java']Java programs
    Demartini, C
    Iosif, R
    Sisto, R
    SOFTWARE-PRACTICE & EXPERIENCE, 1999, 29 (07): : 577 - 603
  • [2] No Java']Java without caffeine -: A tool for dynamic analysis of Java']Java programs
    Guéhéneuc, YG
    Douence, R
    Jussien, N
    ASE 2002: 17TH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, 2002, : 117 - 126
  • [3] Analysis of potential deadlock in Java']Java multithreaded object-oriented programs
    Chen, HY
    INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS, VOL 1-4, PROCEEDINGS, 2005, : 146 - 150
  • [4] Deadlock Detection of Java']Java Bytecode
    Laneve, Cosimo
    Garcia, Abel
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2017), 2018, 10855 : 37 - 53
  • [5] A CASE Tool for JAVA']JAVA Programs Logical Errors Detection: Static and Dynamic Testing
    Al-Ashwal, Deena
    Al-Sewari, Eman Zaid
    Al-Shargabi, Asma Abdulghani
    2018 19TH INTERNATIONAL ARAB CONFERENCE ON INFORMATION TECHNOLOGY (ACIT), 2018, : 256 - 261
  • [6] Static deadlock detection for Java']Java libraries
    Williams, A
    Thies, W
    Ernst, MD
    ECOOP 2005 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2005, 3586 : 602 - 629
  • [7] Code Smell Detection Tool for Java']Java Script Programs
    Almashfi, Nabil
    Lu, Lunjin
    2020 5TH INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATION SYSTEMS (ICCCS 2020), 2020, : 172 - 176
  • [8] Towards Detecting Thread Deadlock in Java']Java Programs with JVM Introspection
    Wen, Yan
    Zhao, Jinjing
    Huang, Minhuan
    Chen, Hua
    TRUSTCOM 2011: 2011 INTERNATIONAL JOINT CONFERENCE OF IEEE TRUSTCOM-11/IEEE ICESS-11/FCST-11, 2011, : 1600 - 1607
  • [9] A run-time deadlock detector for concurrent Java']Java programs
    Nonaka, Y
    Ushijima, K
    Serizawa, H
    Murata, S
    Cheng, JD
    APSEC 2001: EIGHTH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2001, : 45 - 52
  • [10] Effective and Precise Dynamic Detection of Hidden Races for Java']Java Programs
    Cai, Yan
    Cao, Lingwei
    2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 450 - 461