[发明专利]一种基于机器学习和静态分析的软件集成测评方法在审
申请号: | 202111667193.2 | 申请日: | 2021-12-31 |
公开(公告)号: | CN114490344A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 杨顺昆;杨明浩;王杰凯 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 北京快易权知识产权代理有限公司 11660 | 代理人: | 陈伟斯 |
地址: | 100190*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 机器 学习 静态 分析 软件 集成 测评 方法 | ||
本发明公开了一种基于机器学习和静态分析的软件集成测评方法,包括:收集历史版本软件源码的缺陷信息,进行统一格式化处理;对历史版本软件源码扫描分析,提取原始缺陷分析结果中的关键信息;提取历史版本软件源码的代码特征信息;将已知缺陷信息、缺陷分析结果、代码特征信息进行数据组合,构建机器学习算法模型的输入数据;设定训练模型及参数,完成机器学习算法模型的训练和调优;对待分析的目标代码重复执行,获得目标代码的特征数据;将待分析的目标代码特征数据输入机器学习算法模型,获得软件缺陷分析结果。本发明通过机器学习算法对原始分析结果进行进一步集成和优化,过滤部分错误报告,同时补充单一静态工具遗漏的缺陷。
技术领域
本发明涉及软件测试技术领域,尤其涉及一种基于机器学习和静态分析的软件集成测评方法。
背景技术
静态分析是一种直接扫描目标代码提取有关程序的相关信息,通过分析或检查源程序的语法、结构、过程、接口等来实现检查程序的正确性的软件质量保证技术。在静态分析理论研究的基础上,大量静态分析工具被开发出来,有效帮助开发者改进软件质量。静态分析主要具有以下几个特点:
(1)可以不运行被测程序:通过静态分析识别目标软件代码,不需要配置软件运行环境,直接扫描分析源码即可。
(2)自主性:目前常见的静态分析工具在指定目标代码后,均可以自主完成缺陷分析,并给出相应的缺陷分析报告。
(3)可扩展性:静态分析可以处理不同大小规模软件。
机器学习(Machine Learning),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。目前机器学习广泛应用于各种领域,用于解决大量实际问题,例如有学者以支持向量机模型为基础,集成小波分解和微分进化等技术用于短期风速预测,并取得较为不错的预测结果。
静态分析已经在软件开发阶段展示了它们在自动检测代码缺陷中的重要性。但是,越来越多的研究报告表明,静态分析工具在实际应用中并未有效的发挥其作用,静态工具报告的大量告警和手动检查告警所涉及的人力成本是主要原因。缺陷警报是向静态分析工具用户发送的警告消息,传达了程序代码中潜在的缺陷错误,例如通过静态分析检测到的除零,溢出等错误。然而,在实践中,却发现很大一部分缺陷警报是错误的。即使是表现良好的某商用软件,依然存在着20%-30%的误报率。事实上,一般在开发时,静态分析工具开发人员为了保证静态工具的运行分析性能,会在缺陷分析精度上做出让步。而除了误报问题,由于静态分析技术本身的侧重不同、算法架构不同,使得以不同静态分析技术为基础的静态分析工具的缺陷检测能力并不相同,可以覆盖到的缺陷类型也不相同。
发明内容
本发明目的是提供了一种基于机器学习和静态分析的软件集成测评方法,以解决上述问题。
本发明解决技术问题采用如下技术方案:
一种基于机器学习和静态分析的软件集成测评方法,包括如下步骤:
步骤S1,收集历史版本软件源码的缺陷信息,并进行统一的格式化处理;
步骤S2,使用多个静态分析工具对上述历史版本软件源码进行扫描分析,提取原始缺陷分析结果中的关键信息;
步骤S3,通过代码度量工具提取上述的历史版本软件源码的代码特征信息;
步骤S4,将已知的缺陷信息、缺陷分析结果、代码特征信息进行数据组合,构建机器学习算法模型的输入数据;
步骤S5,根据模型测试指标、软件代码量级与代码类型自动化地设定训练模型及参数,完成机器学习算法模型的训练和调优;
步骤S6,对待分析的目标代码重复执行步骤S2-步骤S4,获得目标代码的特征数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111667193.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:服务端应用架构的诊断方法及装置
- 下一篇:一种多域作战多传感器属性识别方法