Efficient Run-time Method for Detecting and Resolving Deadlocks in Java Programs
Deadlocks are one of the most complex problems in concurrent programming because they significantly affect program reliability. In this study, we present a Deadlock Detector and Solver (DDS), a novel approach for detecting and resolving deadlocks during the execution of multithreaded Java programs. These programs typically rely on mutually exclusive locks to synchronize access to shared data structures. A supervisory controller running alongside the monitored program automatically detects deadlocks caused by hold-and-wait cycles involving mutex locks. Recovery from a deadlock uses a preemptive strategy, forcing one of the deadlocked threads to release its lock. The lock is returned to the thread when it is safe to do so. Empirical evaluations of the DDS show that it incurs a reasonable run-time overhead, never exceeding 18% of the original program’s run-time, and it is usually much lower than that.
Fri 19 JulDisplayed time zone: Belfast change
10:30 - 12:10 | |||
10:30 45mTalk | Invited talk: Runtime Verification and Objects: Are we doing it wrong? VORTEX Giles Reger University of Manchester | ||
11:15 30mTalk | Efficient Run-time Method for Detecting and Resolving Deadlocks in Java Programs VORTEX P: Eman Aldakheel University of Illinois at Chicago & Princess Nourah bint Abdulrahman University, Ugo Buy Pre-print | ||
11:45 30mTalk | RML: Runtime Monitoring Language, a System-Agnostic DSL for Runtime Verification VORTEX Pre-print |