Title :
Deadlock-Detection in Java-Library Using Static-Analysis
Author :
Shanbhag, Vivek K.
Author_Institution :
Int. Inst. of Inf. Technol., Bangalore
Abstract :
Well-written Java programs that conform to the Language and the J2SE-API Specifications can surprisingly deadlock their hosting JVM. Some of these deadlocks result from the specific manner in which the library implementations (incorrectly) lock their shared objects. Properly fixing them can require corrections in the J2SE-source. We use static-analysis to fetch a list of such potential deadlock scenarios stemming from the library, and use it to drive focused investigation into its source. This can help improve the reliability of the Library-design and implementation. A related reliability-metric can also be designed for objective comparison of update-releases to avoid regression (in maintenance-releases) of large Java libraries. The focus of this investigation is to identify, and thereby, help remove deadlock-possibilities in the Java-Library. An initial prototype implementation of our approach has already helped detect a deadlock in the JDK1.5 Annotation API.
Keywords :
Java; application program interfaces; formal specification; software libraries; J2SE-API specifications; J2SE-source; JDK1.5 Annotation API; Java-library; deadlock-detection; potential deadlock scenarios; static-analysis; Face detection; Formal specifications; Information technology; Java; Maintenance; Programming profession; Prototypes; Software engineering; Software libraries; System recovery; Java-Byte-code; Lock-acquisition; Static-analysis;
Conference_Titel :
Software Engineering Conference, 2008. APSEC '08. 15th Asia-Pacific
Conference_Location :
Beijing
Print_ISBN :
978-0-7695-3446-6
DOI :
10.1109/APSEC.2008.68