一种Java并发程序死锁动态检测的新方法  被引量:1

Towards a New Dynamic Deadlock Detection Method for Java Concurrent Programs

在线阅读下载全文

作  者:毛澄映[1,2,3] 卢炎生[1] 张金隆[3] 卢超[1] 

机构地区:[1]华中科技大学计算机科学与技术学院,湖北武汉430074 [2]江西财经大学软件学院,江西南昌330013 [3]华中科技大学管理学院,湖北武汉430074

出  处:《小型微型计算机系统》2008年第12期2258-2261,共4页Journal of Chinese Computer Systems

基  金:国家自然科学基金项目(70571025)资助;教育部高等学校博士点基金项目(20060487005)资助;湖北省自然科学基金项目(2005ABA266)资助;江西省教育厅科学技术研究项目(赣高教技字[2007]-267)资助;中国博士后科学基金项目(20070410946)资助;江西财经大学校级青年课题资助

摘  要:死锁是并发程序中最为常见的一类错误,直到现在并没有得到很好地解决.本文以Java并发程序为例,重点研究针对资源死锁较为有效的动态检测算法:根据并发程序的动态执行追踪信息,分析出加锁控制依赖关系,再根据死锁所应满足的条件在该依赖关系集上作适量演算便得到潜在死锁关系对.进一步地,结合线程间控制流图所反映的部分静态依赖关系,剔除假性死锁关系对,提高了计算结果的精度.该算法显著的特点是简单易于实现,且无需构造锁树或锁图等图形表示.Deadlock is one type of errors in most multi-threaded programs, and it hasn't been well settled until today. In this paper, a dynamic detection algorithm for finding resource deadlocks in concurrent Java programs has been proposed. Based on the execution trace information of a concurrent program, it produces locking control dependency relations firstly. Subsequently, the potential deadlocks can be worked out through imposing some relation calculations on the achieved locking control dependency relations. Furthermore, some static information of inter-thread control flow graph (ITCFG) is introduced to increase the precision of results. The presented algorithm is so simple that it can be easily implemented; on the other hand, it doesn't need to construct graphical representation such as lock tree and lock graph in the existing methods.

关 键 词:死锁 执行追踪信息 加锁控制依赖 线程间控制流图 动态检测 

分 类 号:TP311.5[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象