Yusuka Nonaka, K. Ushijima, Hibiki Serizawa, Shigeru Murata, Jingde Cheng
{"title":"并发Java程序的运行时死锁检测器","authors":"Yusuka Nonaka, K. Ushijima, Hibiki Serizawa, Shigeru Murata, Jingde Cheng","doi":"10.1109/APSEC.2001.991458","DOIUrl":null,"url":null,"abstract":"Deadlock is one of the most serious and complex problems concerning the reliability of concurrent Java programs. In this paper, we discuss how to dynamically detect deadlocks in concurrent Java programs at run-time, and propose a representation of synchronization waiting state in an execution of a Java program, which is named the Java thread-wait-for graph. We explicitly define all types of deadlocks in Java with this representation and present an algorithm to detect the deadlocks. Two implementation methods are also presented. We succeeded in detecting a deadlock from a concurrent program, including all types of synchronization waiting relations, using our tool.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":"{\"title\":\"A run-time deadlock detector for concurrent Java programs\",\"authors\":\"Yusuka Nonaka, K. Ushijima, Hibiki Serizawa, Shigeru Murata, Jingde Cheng\",\"doi\":\"10.1109/APSEC.2001.991458\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Deadlock is one of the most serious and complex problems concerning the reliability of concurrent Java programs. In this paper, we discuss how to dynamically detect deadlocks in concurrent Java programs at run-time, and propose a representation of synchronization waiting state in an execution of a Java program, which is named the Java thread-wait-for graph. We explicitly define all types of deadlocks in Java with this representation and present an algorithm to detect the deadlocks. Two implementation methods are also presented. We succeeded in detecting a deadlock from a concurrent program, including all types of synchronization waiting relations, using our tool.\",\"PeriodicalId\":130293,\"journal\":{\"name\":\"Proceedings Eighth Asia-Pacific Software Engineering Conference\",\"volume\":\"30 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2001-12-04\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"13\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings Eighth Asia-Pacific Software Engineering Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/APSEC.2001.991458\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Eighth Asia-Pacific Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSEC.2001.991458","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A run-time deadlock detector for concurrent Java programs
Deadlock is one of the most serious and complex problems concerning the reliability of concurrent Java programs. In this paper, we discuss how to dynamically detect deadlocks in concurrent Java programs at run-time, and propose a representation of synchronization waiting state in an execution of a Java program, which is named the Java thread-wait-for graph. We explicitly define all types of deadlocks in Java with this representation and present an algorithm to detect the deadlocks. Two implementation methods are also presented. We succeeded in detecting a deadlock from a concurrent program, including all types of synchronization waiting relations, using our tool.