1 引言
随着计算机、手机等电子设备的迭代发展以及互联网的普及,软件规模不断地扩大复杂度不断地提高,软件的可靠性变得越来越重要,软件的可靠性与软件缺陷定位息息相关,高效的软件缺陷定位技术可以帮助测试人员快速检测到软件的缺陷位置,有助于后续缺陷修复工作的进行,高效的进行缺陷定位一直是软件工程领域关注的热点内容。本文采用的专利数据主要来自CNABS(中国专利文摘数据库)和DWPI(外文数据库)。由于部分专利申请可能需要18个月之后公布,一些2021年、2022年提交的专利申请可能存在尚未公开的情况,在DWPI、CNABS等数据库中均不包括这部分没有公开的专利申请,因此,本文的专利分析仅基于已经公开的专利申请。
2 软件缺陷定位技术分解
从缺陷定位的技术手段角度,主要分为3种缺陷定位方法,分别是基于动态分析的缺陷定位、基于静态分析的缺陷定位和多模态分析的缺陷定位,针对三种典型的缺陷定位方法来分析其各自的定位技术。
图1 软件缺陷定位技术分解
3 软件缺陷定位技术发展趋势
图2 申请量年度发展趋势
如图2所示,1997-2003年是软件缺陷定位从无到有的萌芽阶段,从2004年开始,关于软件缺陷定位技术的专利每年的申请量逐渐开始增长,国内申请也开始涉足该技术领域,从侧面说明这个时期内,中国在软件缺陷定位方面开始发展。在2011年-至今,该技术的申请量和申请人数量呈现跨越式增长,可谓是该技术发展的黄金时期。这是由于在该阶段出现了越来越多的软件,软件的复杂性使得出现的故障越来越多,使得企业对于软件缺陷定位的关注也急剧提升,因此出现量的飞跃。
4 专利技术分支分析
根据划分的技术分支,统计所属每个技术分支的专利申请量及其占总量的比值,如图2-4所示。第一级技术分支中,动态分析占比较大,其次是静态分析,最后是多模态分析。第二级技术分支占比最大的2项都是在动态分析分支之下,从大到小占比依次为:基于测试的缺陷定位 36%、基于日志分析的缺陷定位26.06%。静态分析分支的申请量占比依次为:信息检索 24%、程序分析8%。多模态分析分支的申请量占比依次为动态分析和静态分析结合的缺陷定位4%,不同动态分析结合的缺陷定位2%。
图3 软件缺陷定位技术相关的全球专利申请的技术分支
CN106951372A公开了一种基于变量切片和关联规则的软件错误定位方法,将变量切片技术结合关联规则算法得到语句之间蕴含的关联规则;通过排序策略生成排序关联规则和检查语句优先级次序,从而进行错误定位;CN103995780A:公开了一种基于语句频度统计的程序错误定位方法;CN109885471A:公开了一种粒子群优化的软件多错误定位方法,根据动态切片缩小错误定位范围,结合粒子群优化算法的理论和方法,通过基于程序频谱信息及程序执行结果拓展怀疑度计算公式构造的适应度函数,得出最优解并将其映射到真实的错误位置;CN111444078A公开了一种基于蚁群算法的软件缺陷定位方法;CN111309607A公开了一种代码方法级别的软件缺陷定位方法,采用历史数据和深度学习技术相结合训练一个缺陷定位模型。
5 结束语
通过对软件缺陷定位各技术分支的专利进行分析,基于测试的软件缺陷定位和基于信息检索的缺陷定位技术数量呈现了快速的增长,成为了主流技术,是各类型申请人普遍申请的重点,随着机器学习行业的发展,借助机器学习的软件缺陷定位技术也已经得到了相应的关注,除了对传统缺陷定位技术的改进,加入新的机器学习技术可以作为新的技术发展的方向。随着近几年软件产业的快速发展,软件缺陷定位技术也得到了广泛的关注,软件缺陷定位对于日常软件使用来说至关重要,对于软件缺陷定位的研究仍需进行持续的关注。
参考文献
[1] 郭肇强等. 基于信息检索的缺陷定位:问题、进展与挑战[J].软件学报.2020(9).
[2] 黄小红等. 软件故障定位关键技术研究综述[J].软件导刊.2017(7).
[3] 郑炜等. 基于半监督学习方法的软件故障定位研究[J].西北工业大学学报.2015(2).
作者简介:李维,1988年6月出生,女,硕士研究生,从事计算机领域专利审查工作;赵小娟,1989年8月出生,女,硕士研究生,从事计算机领域专利审查工作,赵小娟等同于第一作者。