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 条
  • [31] An information exploration tool for performance analysis of Java']Java programs
    Sevitsky, G
    De Pauw, W
    Konuru, R
    TOOLS 38: TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS: COMPONENTS FOR MOBILE COMPUTING, 2001, 38 : 3 - 101
  • [32] Chianti: A tool for change impact analysis of Java']Java programs
    Ren, XX
    Shah, F
    Tip, F
    Ryder, BG
    Chesley, O
    ACM SIGPLAN NOTICES, 2004, 39 (10) : 432 - 448
  • [33] Automated deadlock detection for large java libraries
    International Institute of Information Technology, Bangalore
    Karnataka
    560100, India
    Lect. Notes Comput. Sci., (129-144):
  • [34] Design of a toolset for dynamic analysis of concurrent Java']Java programs
    Bechini, A
    Tai, KC
    6TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION (IWPC 98) - PROCEEDINGS, 1998, : 190 - 197
  • [35] Dynamic memory allocation/deallocation behavior in Java']Java programs
    Fong, AS
    Li, RCL
    2002 IEEE REGION 10 CONFERENCE ON COMPUTERS, COMMUNICATIONS, CONTROL AND POWER ENGINEERING, VOLS I-III, PROCEEDINGS, 2002, : 314 - 317
  • [36] Dynamic Symbolic Execution of Java']Java Programs Using JNI
    Vartanov, Sergey
    2017 ELEVENTH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES (CSIT), 2017, : 83 - 86
  • [37] An efficient technique for dynamic slicing of concurrent Java']Java programs
    Mohapatra, DP
    Mall, R
    Kumar, R
    APPLIED COMPUTING, PROCEEDINGS, 2004, 3285 : 255 - 262
  • [38] A dynamic Logic for the formal verification of Java']Java Card programs
    Beckert, B
    JAVA ON SMART CARDS: PROGRAMMING AND SECURITY, 2001, 2041 : 6 - 24
  • [39] Generic invariant-based static analysis tool for detection of runtime errors in Java']Java programs
    Skevoulis, S
    Jia, XP
    37TH INTERNATIONAL CONFERENCE ON TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS, 2000, : 36 - 44
  • [40] Towards detecting thread deadlock in java programs with JVM introspection
    Beijing Institute of System Engineering, Beijing, China
    不详
    不详
    Proc. - IEEE Int. Conf. Trust, Secur. Priv. Comput. Commun., TrustCom, IEEE Int. Conf. Embedded Softw. Syst., ICESS, (1600-1607):