基于特征相似的软件缺陷排除方法
2017-12-08赵逢禹
计算机应用与软件 2017年11期
张 灿 赵逢禹
(上海理工大学光电信息与计算机工程学院 上海 200093)
基于特征相似的软件缺陷排除方法
张 灿 赵逢禹
(上海理工大学光电信息与计算机工程学院 上海 200093)
开发人员思维定式和代码复制与克隆会导致代码中存在相同类型的软件缺陷。基于这一思想,提出一种基于特征相似的软件缺陷排除方法。该方法对已定位缺陷代码进行特征分析,基于该缺陷代码特征,查找项目代码中具有相似特征的代码片段。结合缺陷类型和代码特征对缺陷代码进行分析,建立特征相似关联规则,检测项目代码,排查与缺陷代码相似度超过预定阈值的代码片段,相似度超过预定阈值的代码片段称为疑似代码。通过对科研管理系统和物业系统人工导入错误并进行缺陷排除实验分析和人工检测,证实了该方法能够有效地发现项目中隐含的相似缺陷代码。
特征相似 缺陷排除 抽象语法树 特征分析
0 引 言
软件缺陷严重影响软件可靠性和可用性,是导致系统失效和崩溃的主要原因。现有的软件缺陷定位方法分为两大类,分别是基于静态分析的缺陷定位和基于动态测试的缺陷定位。基于静态分析的缺陷定位方法是在不执行代码的情况下,使用词法分析、语法分析、流程依赖分析等技术对程序源代码进行静态扫描,以发现代码中隐含的错误[1]。Zimmermann等[2]针对程序模块间的依赖关系展开研究,通过依赖图发现程序模块的依赖关系越强代码缺陷的发现概率越大。……
登录APP查看全文
