[发明专利]一种轻量级的软件缺陷预测方法在审
申请号: | 202011532907.4 | 申请日: | 2020-12-22 |
公开(公告)号: | CN112527675A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 包嘉盛;任洪敏 | 申请(专利权)人: | 上海海事大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/56;G06F21/57 |
代理公司: | 上海互顺专利代理事务所(普通合伙) 31332 | 代理人: | 裴姣姣 |
地址: | 201306 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 软件 缺陷 预测 方法 | ||
本发明提供一种轻量级的软件缺陷预测方法。包含步骤:S1、获取用户提交的项目代码;S2、Spotbugs工具分析Java代码文件;S3、同项目历史缺陷数据与本次数据对比;S4、设置最小支持度和最小置信度;S5、FBCM算法进行关联算法分析;S6、项目评级、缺陷、预测结果的可视化、对缺陷留言。本发明区别于常见的代码分析工具只能分析本次提交项目的代码,不仅能反映长时间项目的缺陷情况,还能对软件缺陷进行预测,实现软件项目或产品质量的控制和管理。
技术领域
本发明涉及软件仓库挖掘中软件缺陷预防的领域。确切的说是一种轻量级的软件缺陷预测方法。
背景技术
随着软件行业的不断发展,软件缺陷的复杂性和预防能力在软件行业中扮演着重要的角色。软件项目的成功取决于质量,质量指的是成本、时间、精力。为了避免软件质量低下所带来的巨大成本,较好的办法是在缺陷预防方面进行投入。软件缺陷预防是一项复杂但必不可少的软件测试相关活动。在构建高质量的软件时,缺陷预防在软件的质量级别方面起着重要的作用。此外,它还有助于软件测试和调试。对于大型软件,手动查找缺陷是非常复杂和费时的,因为源文件和源文件之间有许多密切的关联。由此可见,软件的质量是非常重要的,在预测缺陷时,测试相关的软件和工具变得至关重要。软件代码缺陷时常存在,许多公司采用代码审查和测试代码来发现bug。因此,需要一个好的缺陷预测方法来尽可能快地发现缺陷。这样不仅可以节省时间,还可以确保构建高质量的软件。这种方法还能帮助开发成员知道自己容易犯哪些错误、并且尽量避免。
近年来,人们提出了不同的方法来检测代码是否存在缺陷。软件缺陷预防通过挖掘软件的历史仓库来进行分析,使用软件模块的度量元数据进行提前发现与锁定缺陷模块,进而提出了不同的统计学和数据挖掘方法。然而,该研究仍处于初期,尚未发布具有普适性的产品或应用,国内外目前尚无针对软件缺陷预防的专用数据挖掘系统。
简而言之,软件缺陷预测技术主要是根据软件的基本属性(长度、复杂性、函数、过程),软件缺陷的历史数据用来预测软件中可能遗留的或尚未发现的缺陷,帮助人们掌握软件的质量,是否可以交付给客户,甚至可以使用过程中找到可能的失效模式。随着软件逐渐渗透到生活的方方面面,软件缺陷也面临着新的挑战,解决现有技术问题的同时,还必须根据不断变化的需求不断创新,比如如何更好的适应快速变化的市场,复杂的软件系统的需求和软件价值的经济需求。
由此可见,一个好的软件缺陷预防方法以及对应轻量级的代码质量管理实现系统对于产品的开发有着重大的意义。
发明内容
发明目的:由于单单使用代码静态分析工具只能在代码完成后分析,只能得到本次分析的结果,最后由开发人员进行修改。无法系统的对开发人员的代码进行评估、无法系统的对代码质量进行管理,同时也不能预测开发的软件产品中的潜在缺陷。并且,针对软件缺陷的预测有许多种,构造软件缺陷预测的方法十分复杂,对训练集和测试集的要求较高。对于跨项目甚至跨公司的项目,更加无法较好的对软件缺陷进行预测。市面上代码质量管理系统SonarQube可以用来持续分析和评测项目源代码的质量,但是不能对缺陷进行预测,并且对运行内存要求较高4GB以上才能流畅运行。本专利通过一种轻量级的软件缺陷预测方法与对应实现的系统,能让开发成员在开发过程中知道哪些常见的缺陷,预测之后可能出现的缺陷,每个项目根据缺陷级别和个数的不同有个评分、可以查看缺陷是谁产生的、缺陷状态、并且提出处理意见。使得能改善公司产品开发的质量,提高开发过程中的效率,降低缺陷遗漏的风险。
为了实现上述目的,本发明的实施采用如下技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海海事大学,未经上海海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011532907.4/2.html,转载请声明来源钻瓜专利网。