[发明专利]一种操作系统死锁静态检测方法及相关设备在审
申请号: | 202111357499.8 | 申请日: | 2021-11-16 |
公开(公告)号: | CN116136800A | 公开(公告)日: | 2023-05-19 |
发明(设计)人: | 白家驹;李拓;王岳兴;李杨;贾宁 | 申请(专利权)人: | 华为技术有限公司;清华大学 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 操作系统 死锁 静态 检测 方法 相关 设备 | ||
本发明实施例公开了一种操作系统死锁静态检测方法及相关设备,其中,该操作系统死锁静态检测方法包括:对操作系统内核的函数进行基于变量间的别名关系的锁集分析,得到锁集序列集合;对锁集序列集合进行回环检测,得到至少一个潜在死锁缺陷;对至少一个潜在死锁缺陷中的每个潜在死锁缺陷的代码路径进行可达性检测和/或并发性检测,以得到操作系统内核的死锁缺陷检测结果。本申请实施例有利于减少操作系统死锁缺陷检测的误报情况。
技术领域
本发明涉及计算机软件测试技术领域,尤其涉及一种操作系统死锁静态检测方法及相关设备。
背景技术
计算机软件测试是发现软件缺陷、保证软件正常运行的重要步骤,而死锁是软件中一种常见的并发程序缺陷,易导致进程进程/线程异常挂起、资源利用率降低、甚至系统崩溃等问题。业界普遍采用动态分析方法检测并发程序中的死锁缺陷,通过对被测程序代码进行插桩,在程序运行时发现被测程序代码的死锁缺陷,动态分析方法在死锁缺陷检测上的误报率较低,但是其严重依赖于用户提供的测试用例,存在代码覆盖率低和漏报率高的问题,难以发现不常被执行的程序代码中的死锁缺陷。
为了解决动态分析方法所存在的问题,业界一些研究者提出了对被测程序代码进行静态检测的方法,且在应用程序的死锁缺陷检测上取得了一定效果。但是,由于应用程序和操作系统(如Linux系统)在代码特征和执行上有着较大差异,目前的静态检测方法难以准确有效地检测出操作系统的死锁缺陷,导致死锁缺陷检测存在大量误报情况。
发明内容
本申请实施例提供了一种操作系统死锁静态检测方法及相关设备,有利于减少操作系统死锁缺陷检测的误报情况。
第一方面,本申请实施例提供一种操作系统死锁静态检测方法,该方法包括:
对操作系统内核的函数进行基于变量间的别名关系的锁集分析,得到锁集序列集合;
对锁集序列集合进行回环检测,得到至少一个潜在死锁缺陷;
对至少一个潜在死锁缺陷中的每个潜在死锁缺陷的代码路径进行可达性检测和/或并发性检测,以得到操作系统内核的死锁缺陷检测结果。
本申请实施例中,应理解,操作系统内核的代码中存在大量别名关系,利用操作系统内核的函数变量间的别名关系进行锁集分析,有利于提升锁集分析的准确性,示例性的,比如可将重复获取到的锁集序列删除、可将具有相同锁变量的锁集序列重新组合,从而使得锁集序列集合中的锁集序列的准确度更高,对准确度更高的锁集序列集合进行回环检测,有利于得到准确度更高的潜在死锁缺陷。另外,由于操作系统内核的代码中有大量条件语句,且并非所有操作系统内核的代码都可以并发执行,基于这些特性对每个潜在死锁缺陷的代码路径进行可达性检测和/或并发性检测,有利于对代码路径中的条件语句进行验证,得到可达性检测结果,和/或对每个潜在死锁缺陷的代码路径进行并发性判定,得到并发性检测结果,示例性的,比如某条代码路径不具备可达性,则可将该代码路径对应的潜在死锁缺陷过滤掉,同理,比如某两条代码路径不具有并发性,则可将该某两条代码路径对应的潜在死锁缺陷过滤掉。基于别名关系的锁集分析有利于减少死锁缺陷检测的误报和漏报情况,此基础上再采用可达性检测和/或并发性检测,对假的死锁缺陷进行过滤,可进一步减少操作系统死锁缺陷检测的误报情况。
在一些可能的实施方式中,死锁缺陷检测结果包括死锁缺陷集合,对至少一个潜在死锁缺陷中的每个潜在死锁缺陷的代码路径进行可达性检测,以得到操作系统内核的死锁缺陷检测结果,包括:
对于至少一个潜在死锁缺陷中的任一个潜在死锁缺陷A,基于别名关系对潜在死锁缺陷A的代码路径中的每条代码路径进行可达性检测,得到每条代码路径的可达性检测结果;
当潜在死锁缺陷A的每条代码路径的可达性检测结果均表示该代码路径具备可达性时,将潜在死锁缺陷A放入死锁缺陷集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;清华大学,未经华为技术有限公司;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111357499.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种芯片测试系统
- 下一篇:具有发光二极管的显示模组及其制作方法