Back to Blog
Java deadlock5/8/2023 We subjected the entire JRE v1.7.0 \(\_\)79 libraries (rt.jar) to our implementation of the above approach and successfully detected 113 deadlocks. This process is automated without the need for manual intervention. In case of deadlock, details are logged for subsequent reproduction. We first run ‘Stalemate’ to generate a list of potential deadlocking classes. In this work we combine a static approach (Stalemate) and a dynamic approach (Omen) to detect deadlocks in large Java libraries. Unfortunately, for large libraries, generating the seed test execution paths covering all possible classes, to trigger the dynamic analysis becomes impractical. Since they do not generate deadlocking test cases, manually creating deadlocking code based on the predictions is impractical for large libraries.ĭynamic approaches: Such analysis produces concrete results in the form of actual test cases to demonstrate the reachability of the identified deadlock. Instead, if their model is coarse grained, then the results have too many false cases. If they employ a detailed modelling of the library, then the size of the analysis grows too large. Static approaches: With very large libraries, this analysis face typical accuracy/doability problem. Researchers have used static and dynamic approaches to analyze the problem. Locating deadlock opportunities in large Java libraries is a subject of much research as the Java Execution Environment (JVM /JRE) does not provide means to predict or prevent deadlocks.
0 Comments
Read More
Leave a Reply. |