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 条
  • [21] Anomaly detection in concurrent Java']Java programs using dynamic data flow analysis
    Saleh, K
    Boujarwah, AA
    Al-Dallal, J
    INFORMATION AND SOFTWARE TECHNOLOGY, 2001, 43 (15) : 973 - 981
  • [22] Omen plus : A Precise Dynamic Deadlock Detector for Multithreaded Java']Java Libraries
    Samak, Malavika
    Ramanathan, Murali Krishna
    22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 735 - 738
  • [23] Dynamic data race detection in Java']Java-programs using synchronization contracts
    Tsitelov, Dmitry
    Trifanov, Vitaly
    2013 TOOLS & METHODS OF PROGRAM ANALYSIS (TMPA 2013), 2013, : 3 - 8
  • [24] Automatic verification of Java']Java programs with dynamic frames
    Smans, Jan
    Jacobs, Bart
    Piessens, Frank
    Schulte, Wolfram
    FORMAL ASPECTS OF COMPUTING, 2010, 22 (3-4) : 423 - 457
  • [25] Dynamic memory allocation Behavior in Java']Java programs
    Li, RCL
    Fong, AS
    Chun, HW
    Tam, CH
    COMPUTERS AND THEIR APPLICATIONS, 2001, : 362 - 365
  • [26] Dynamic data structure analysis for Java']Java programs
    Pheng, Sokhorn
    Verbrugge, Clark
    14TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2006), PROCEEDINGS, 2006, : 191 - +
  • [27] Dynamic data flow analysis for Java']Java programs
    Boujarwah, AS
    Saleh, K
    Al-Dallal, J
    INFORMATION AND SOFTWARE TECHNOLOGY, 2000, 42 (11) : 765 - 775
  • [28] An Analysis of the Dynamic Behavior of Java']Java Script Programs
    Richards, Gregor
    Lebresne, Sylvain
    Burg, Brian
    Vitek, Jan
    PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 1 - 12
  • [29] Chianti: A change impact analysis tool for Java']Java programs
    Ren, XX
    Ryder, BG
    Stoerzer, M
    Tip, F
    ICSE 05: 27th International Conference on Software Engineering, Proceedings, 2005, : 664 - 665
  • [30] jMoped: A test environment for Java']Java programs - (Tool paper)
    Suwimonteerabuth, Dejvuth
    Berger, Felix
    Schwoon, Stefan
    Esparza, Javier
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2007, 4590 : 164 - +