多线程死锁静态检测方法研究
死锁会导致程序无法正常运行或终止,甚至导致系统崩溃,带来不必要的损失。死锁的运行状态空间过大,难于重现和修正等问题使其成为软件领域的难题之一。本文基于对Java多线程程序死锁的分析,提出了多线程死锁静态检测方法。该方法首先通过对待测源程序的预分析,生成抽象语法树和控制流图等辅助分析结构;然后通过可达分析检测程序中线程的并发特征,使用别名分析检测所有可能存在死锁情况。之后,对潜在的死锁集合进行分析,通过门锁分析和并发与逃逸分析,排除其中不可能的死锁情况,逐步缩小死锁集合,提高检测精度。本文通过对225K行代码测试,验证了该方法可有效检测多线程程序中潜在的死锁问题。
软件开发 多线程程序 程序死锁 软件测试
白哥乐 杨朝红 王雅文
北京邮电大学网络与交换技术国家重点实验室,北京 100876 装甲兵工程学院信息工程系 北京 100072
国内会议
北京
中文
1-6
2011-07-30(万方平台首次上网日期,不代表论文的发表时间)