[发明专利]代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法有效

专利信息
申请号: 201711005610.0 申请日: 2017-10-19
公开(公告)号: CN107678971B 公开(公告)日: 2021-05-04
发明(设计)人: 孙小兵;周天驰;李斌 申请(专利权)人: 扬州大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 南京中新达专利代理有限公司 32226 代理人: 孙鸥;朱杰
地址: 225009 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 代码 味道 驱动 基于 克隆 耦合 检测 缺陷 预测 方法
【说明书】:

发明涉及代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法。本发明对所有代码利用代码味道识别技术进行代码味道检测,并计算代码片段中坏味道的数目;检测坏味道代码与所有代码之间的联系及数目;检测坏味道代码和所有代码之间的关联及数目;计算上述代码缺陷的概率;加权处理代码缺陷概率;按照缺陷概率将代码进行降序排序,并将缺陷代码和缺陷语义信息推荐给开发者。本发明克服了过去存在的测试成本高和可读性差的缺陷。本发明从代码味道角度,结合克隆、耦合检测技术,提供有效的代码检查推荐,帮助开发者找到代码缺陷,理解预测出来的代码缺陷所在和优先处理严重等级较高的代码缺陷,大大缩短软件开发周期。

技术领域

本发明属于软件分析与测试领域,特别涉及代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法。

背景技术

软件缺陷(software defect)产生于开发人员的编码过程中,需求理解不正确、软件开发过程不合理或开发人员的经验不足,均有可能产生软件缺陷.而含有缺陷的软件在运行时可能会产生意料之外的结果或行为,严重的时候会给企业造成巨大的经济损失,甚至会威胁到人们的生命安全.在软件项目的开发生命周期中,检测出内在缺陷的时间越晚,修复该缺陷的代价也越高.尤其在软件发布后,检测和修复缺陷的代价将大幅度增加.因此,项目主管借助软件测试或代码审查等软件质量保障手段,希望能够在软件部署前尽可能多地检测出内在缺陷.但是,若关注所有的程序模块会消耗大量的人力物力,因此,项目主管希望能够预先识别出可能含有缺陷的程序模块,并对其分配足够的测试资源。

在本发明作出之前,为了帮助软件开发人员尽可能的节省发现缺陷的成本,有些学者利用先进的机器学习算法构建出精度优秀的分类器。但是,这些分类器往往关注的是软件缺陷预测的精度,其基本的操作流程是输入一些待测试的代码,经过分类器预先定义的度量进行预处理,然后将预处理得出的信息利用构建好的分类器进行分类,将代码分类为有缺陷的和无缺陷的。虽然目前缺陷预测的精度有的达到90%的精确度,但往往由于真实项目数据量巨大,目前的精度下投入的测试成本仍然较高,这使得很多优秀的分类器往往无法为真实世界的开发者提供帮助,而其返回的有缺陷的代码也仅仅是一些抽象的标记,对于代码开发者和维护者没有较好的可读性。此外目前的缺陷预测技术还需要一些人工标注,这样才能为机器学习技术提供训练集,这样就使得缺陷预测过程无法自动化地完成。

发明内容

本发明的目的就是要克服上述缺陷,研发出代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法。

本发明技术方法是:

代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法,其主要技术特征在于如下步骤:

(1)对所有代码利用代码味道识别技术进行代码味道检测,并计算代码片段中坏味道的数目;

(2)根据克隆关系检测步骤(1)中坏味道代码与所有代码之间的联系,统计每个坏味道代码与其他代码关联的数目;

(3)根据语义耦合、语法耦合检测步骤(1)中坏味道代码和所有代码之间的关联,统计每个坏味道代码与其他代码关联的数目;

(4)利用定义好的概率计算公式计算步骤(1)中代码缺陷的概率;

(5)利用定义好的计算公式计算步骤(2)和步骤(3)的代码缺陷概率;

(6)加权处理步骤(4)和步骤(5)的代码缺陷概率;

(7)按照缺陷概率将代码进行降序排序,并将缺陷代码和步骤(1)、(2)、(3)得到的缺陷语义信息推荐给开发者。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711005610.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top