[发明专利]一种基于基因表达式编程算法的软件缺陷预测方法在审
申请号: | 202210536193.7 | 申请日: | 2022-05-17 |
公开(公告)号: | CN114968773A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 肖文辉;彭虎;韩雨鹏 | 申请(专利权)人: | 九江学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
代理公司: | 常州品益专利代理事务所(普通合伙) 32401 | 代理人: | 侯利娜 |
地址: | 332005 江西*** | 国省代码: | 江西;36 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 基因 表达式 编程 算法 软件 缺陷 预测 方法 | ||
本发明公开了一种基于基因表达式编程算法的软件缺陷预测方法,包括如下步骤:S1:设置运行参数并随机生成字符串染色体初始化种群;S2:将软件缺陷历史数据集分成训练集和测试集;S3:通过树状结构将种群中的字符串染色体转换成表达式树;S4:将表达式树进行解码,转换成对应的程序模型;S5:根据适应度函数,计算适应度值;S6:用轮盘赌选择机制对种群进行选择;S7:用基于领域变异的基因表达式编程算法对种群进行演化;S8:重复S3步至S5;S9:检查是否达到结束条件,如没有则返回S6,结束后得到的最优染色体即为对软件缺陷预测的模型;S10:通过测试集对得到的模型进行测试,最终得到软件缺陷预测的模型;S11:将实况的软件缺陷数据输入到模型中,得到预测结果。本发明简单高效,可用于缺陷预测技术领域中软件缺陷的预测。
技术领域
本发明涉及软件缺陷技术领域,尤其涉及一种基于基因表达式编程算法的软件缺陷预测方法。
背景技术
随着软件规模的不断扩大和复杂度的不断提高,软件的质量也成为了关注的焦点。而隐含缺陷的软件在部署后可能会产生一些意料之外的结果或行为,严重的时候会给企业带来巨额的经济损失。软件的缺陷威胁着软件的质量,如何在软件开发的早期检测出软件的缺陷也成为了研究的重点。软件缺陷预测技术能够在软件开发过程中使用软件模块的度量元数据来提前发现与锁定缺陷模块,从而合理地分配有限的资源,为软件质量提供保障。可以参见有关文献:Nam J.Survey on software defect prediction[J].Department of Computer Science and Engineering,The Hong Kong University ofScience and Technology,Tech.Rep,2014.
软件的隐含缺陷被检测出的时间越晚,修复这些缺陷的代价也越高,尤其在软件部署后,修复和检测的代价也急剧增加。因此,如果能在项目开发的早期阶段,预先识别出项目内的潜在缺陷程序模块,就能对这类程序模块分配足够的测试资源以确保可以进行重复的代码审查或单元测试,最终达到提高软件产品质量的目的。可以参见有关文献:宫丽娜,姜淑娟,姜丽.软件缺陷预测技术研究进展[J].软件学报,2019,30(10):3090-3114.
目前,在软件缺陷预测技术中,对于预测模型的建立,许多经典算法被用来作为软件缺陷预测的分类器,如支持向量机、决策表、贝叶斯网络。此外,软件缺陷预测还采用了许多智能优化算法来提高预测精度,包括经典的粒子群优化算法、差分进化算法、萤火虫算法等。可以参见有关文献:Li Z,Jing X Y,Zhu X.Progress on approaches to softwaredefect prediction[J].Iet Software,2018,12(3):161-175.
基因表达式编程算法是Ferreira在2001年提出的,是一种基于基因型和表现型的新型演化算法。它即保留了遗传算法的基因编码方式,又结合了遗传编程独特的树状结构。因此,基因表达式编程算法具有简单便捷和灵活多变的特点,并被广泛地应用于回归问题、数据挖掘和实际问题的识别当中。然而,标准的基因表达式编程算法也存在着收敛速率低、早熟和泛化能力差等诸多不足。这容易导致基因表达式编程算法应用于复杂的实际问题时,求解精度差且计算时间长。
发明内容
本发明主要是针对现有技术的不足,提出一种基于领域变异的基因表达式编程算法的软件缺陷预测方法。该方法可以很好地解决上述问题。
本发明使用基于领域变异的基因表达式编程算法对软件缺陷预测模型的构建问题进行优化设计。通过提高标准基因表达式编程算法的收敛速度和精度,从而提高对软件缺陷预测的精度。演化计算过程中,通过将领域空间的概念引入到基因表达式编程算法中,使得算法中的种群多样性增加,从而提高算法的泛化能力。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种基于领域变异的基因表达式编程算法的软件缺陷预测方法,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于九江学院,未经九江学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210536193.7/2.html,转载请声明来源钻瓜专利网。