[发明专利]一种针对分布式系统程序死锁缺陷的测试系统及方法有效
| 申请号: | 201810799683.X | 申请日: | 2018-07-20 |
| 公开(公告)号: | CN108959098B | 公开(公告)日: | 2021-11-05 |
| 发明(设计)人: | 赵靖;王延斌;吴卓霏;鲁华林;姚念民 | 申请(专利权)人: | 大连理工大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/52 |
| 代理公司: | 大连理工大学专利中心 21200 | 代理人: | 温福雪;侯明远 |
| 地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提供了一种针对分布式系统程序死锁缺陷的测试系统及方法,通过对分布式系统网络事件进行模拟,将其与单机上待测试分布式系统软件执行的锁事件相结合,之后使用基于优先级的线程调度模块将线程并行逻辑转为串行逻辑并通过死锁检测模块判断死锁,实现了在单机上对分布式系统死锁缺陷的有概率保证的检测,有效降低了针对分布式系统的死锁检测成本,提高了程序测试效率。 | ||
| 搜索关键词: | 一种 针对 分布式 系统 程序 死锁 缺陷 测试 方法 | ||
【主权项】:
1.一种针对分布式系统程序死锁缺陷的测试系统,其特征在于,所述的针对分布式系统程序死锁缺陷的测试系统包括待测试分布式系统软件、自定义网络事件模拟器、二进制插桩模块、时间序列维护模块、基于优先级的线程调度模块和死锁检测模块;自定义网络事件模拟器用来模拟分布式系统中其他主机上产生的网络锁事件,并将产生的网络锁事件以JSON格式发送至时间序列维护模块,其中网络锁事件包括时间戳、网络事件线程ID、锁ID和锁事件内存地址;二进制插桩模块用来对待测试分布式系统软件进行动态插桩,获取待测试分布式系统软件在一次运行过程中各个线程执行的所有锁事件,并通过JSON格式以时间顺序发送给时间序列维护模块,锁事件包括时间戳、线程ID、锁ID和锁事件内存地址;事件序列维护模块从自定义网络事件模拟器和二进制插桩模块接收JSON格式的锁事件,并将接收到的锁事件按时间顺序和线程ID进行维护,之后将收集到的全部信息通过JSON格式发送给基于优先级的线程调度模块;基于优先级的线程调度模块从时间序列维护模块中接收JSON格式的数据,使用概率保证调度算法并根据死锁检测模块反馈的结果,对并发的线程进行调度,将其并行逻辑转为串行逻辑,之后将执行结果以锁事件为单位,通过JSON格式发送给死锁检测模块;死锁检测模块从基于优先级的线程调度模块中接收JSON格式的锁事件,并采用死锁检测算法判断当前线程是否被阻塞,并将结果反馈至基于优先级的线程调度模块,若当前未执行完成的线程均被阻塞,则将其判定为死锁。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810799683.X/,转载请声明来源钻瓜专利网。
- 上一篇:一种自动提交bug的系统及方法
- 下一篇:一种获取固件的方法及装置





