说明:收录25万 73个行业的国家标准 支持批量下载
文库搜索
切换导航
文件分类
频道
仅15元无限下载
联系我们
问题反馈
文件分类
仅15元无限下载
联系我们
问题反馈
批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210276087.X (22)申请日 2022.03.21 (71)申请人 南京航空航天大 学 地址 211106 江苏省南京市江宁区将军大 道29号 (72)发明人 宫丽娜 魏明强 刘云 张静宣 (74)专利代理 机构 青岛锦佳专利代理事务所 (普通合伙) 37283 专利代理师 朱玉建 (51)Int.Cl. G06V 30/40(2022.01) G06V 10/56(2022.01) G06V 10/44(2022.01) G06V 10/82(2022.01) G06V 10/764(2022.01)G06K 9/62(2022.01) G06F 11/36(2006.01) G06N 3/04(2006.01) G06N 3/08(2006.01) (54)发明名称 一种基于代码可视化学习的软件缺陷预测 方法 (57)摘要 本发明属于软件缺陷预测技术领域, 具体公 开了一种基于代码可视化学习的软件缺陷预测 方法, 该软件缺陷预测方法包括如下: 步骤1.数 据收集与标记; 步骤2.代码片段可视化表示; 步 骤3.微调预训练Efficientnet特征提取模型, 得 到符合源代码特性的缺陷预测模型; 步骤4.根据 微调后得到的缺陷预测模型, 实现对被测源代码 缺陷状态的预测。 本发明通过将源代码文件中代 码片段可视化为图像, 以便捕获源文件的语义和 结构信息, 同时通过微调已经训练好的基于图片 的深度学习特征提取模型, 来构建一个新的端到 端的深度学习缺陷预测模型, 摆脱了基于自然语 言模型受限于训练词向量表示的限制, 提高了软 件缺陷预测模 型的性能和通用型, 合理分配了测 试资源, 提高了软件质量。 权利要求书2页 说明书4页 附图5页 CN 114782967 A 2022.07.22 CN 114782967 A 1.一种基于代码可视化学习的软件缺陷预测方法, 其特 征在于, 包括如下步骤: 步骤1.首先从GitHub开源社区中收集所需的源代码文件、 代码提交以及缺陷报告信 息, 然后根据代码提交及缺陷报告信息, 实现对 源代码文件的有无缺陷标记; 其中, 将源代码文件中标记的有缺陷代码和无缺陷代码作为标签数据; 步骤2.使用包括pillow python图像绘制和渲染包、 Google code‑prettify javascript库、 javalang Python包以及ASCII十进制转换在内的四种方式, 实现源代码文 件中代码片段从颜色、 形状和结构的图像可视化表示, 得到四种源代码图片数据; 步骤3.使用步骤1中的标签数据和步骤2中的源代码图片数据, 微调基于ImageNet图像 预训练的Ef ficientnet ‑v2特征提取模型, 得到符合源代码特性的缺陷预测模型; 步骤4.根据微调后得到的缺陷预测模型, 实现对被测代码片段缺陷状态的预测。 2.根据权利要求1所述的基于代码可视化学习的软件缺陷预测方法, 其特 征在于, 所述步骤1具体为: 步骤1.1.根据GitHub开源社区中Stars以及开源项目的开发周期, 选择多个开源项目; 步骤1.2.对收集到的开源项目进行 预处理, 预处理过程包括: a)筛选出开源项目中的源代码文件; b)筛选出开源项目中报告 项目缺陷的问题报告; 步骤1.3.通过代码提交里的缺陷报告关键词, 建立代码提交与问题报告之间的连接, 根据代码提交与问题报告之间建立的连接, 确定修复缺陷的代码提交; 步骤1.4.根据修复缺陷的代码提交, 采用SZ Z方法识别出引入缺陷的代码提交; 步骤1.5.将源代码文件中处于引入缺陷的代码提交与修复缺陷的代码提交之间的代 码片段标记为有缺陷代码; 否则, 标记为无缺陷代码。 3.根据权利要求2所述的基于代码可视化学习的软件缺陷预测方法, 其特 征在于, 所述步骤2具体为: 步骤2.1.使用pillow python图像绘制和渲染包将代码片段表示为黑白图像作为基线 可视化表示, 通过 学习字符和单词的视 觉形状作为代码块形状, 以识别代码逻辑结构; 步骤2.2.首先使用Google code‑prettify javascript库将代码片 段可视化为一个用 颜色突出显示语法的渲 染代码文本, 然后使用imgkit的python包将生 成的渲染代码文本页 面转换为PNG图像; 步骤2 .3 .使用javalang Python包将代码片段转换为抽象语法树, 并利用 graphvizPython包生成一个graphviz图, 图中边代表代码内的控制流, 以捕获源代码的顺 序性; 步骤2.4.将代码片段转换成ASCII十进制的8位无符号整数向量, 然后通过将8位无符 号整数向量的向量 值排列在矩阵 图像的行和列中, 实现从向量 生成图像。 4.根据权利要求3所述的基于代码可视化学习的软件缺陷预测方法, 其特 征在于, 所述步骤3具体为: 步骤3.1.预训练的Efficientnet ‑v2特征提取模型的默认输入为224*224, 将步骤2中 得到的源代码图片, 统一 转换为224*224大小的源代码图片; 步骤3.2.基于Efficientnet ‑v2特征提取模型, 加入全连接层, 形成深度学习模型, 深 度学习模型的特 征层的权 重值初始化 为Efficientnet ‑v2特征提取模型的权 重值;权 利 要 求 书 1/2 页 2 CN 114782967 A 2步骤3.3.使用步骤1得到的标签数据和经过步骤3.1预处理后的源代码图片, 采用反向 传播方式训练步骤3.2构建的深度学习模型, 得到最终的缺陷预测模型。 5.根据权利要求 4所述的基于代码可视化学习的软件缺陷预测方法, 其特 征在于, 所述步骤3.1具体为: 将步骤2中的源代码图片划分成尺寸大于和小于2 24*224像素的源代码图片; 其中, 尺寸大于224*224像素的源代码图片裁剪为224*224大小的源代码图片, 尺寸小 于224*224像素的源代码图片被填充带有空白像素并形成2 24*224大小的源代码图片。 6.根据权利要求 4所述的基于代码可视化学习的软件缺陷预测方法, 其特 征在于, 所述步骤4具体为: 步骤4.1.对收集到的被测项目的代码片段, 使用步骤2中的代码片段可视化表示方法, 将被测项目的代码片段转换为 4种形式的图片; 步骤4.2.将步骤4.1中4种形式的图片分别放入经过步骤3调整后的缺陷预测模型中, 使得每个图片均得到一个相应的分类结果, 即是否为 缺陷代码片段; 步骤4.3.根据步骤4.2得到的对被测项目的代码片段的4种分类结果, 采用投票的集成 机制, 得到最终的代码片段的缺陷状态。 7.根据权利要求6所述的基于代码可视化学习的软件缺陷预测方法, 其特 征在于, 所述步骤4.3具体为: 计算4种分类结果中为有 缺陷样本的数量nd以及无缺陷样本的数量nc; 若nd≥nc, 则被测 项目的代码片段为有缺陷代码片段; 若nd<nc, 则被测项目的代码片段为无缺陷代码片段。权 利 要 求 书 2/2 页 3 CN 114782967 A 3
专利 一种基于代码可视化学习的软件缺陷预测方法
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
赞助2.5元下载(无需注册)
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
下载文档到电脑,方便使用
赞助2.5元下载
本文档由 SC 于
2024-03-03 12:11:36
上传分享
举报
下载
原文档
(730.8 KB)
分享
友情链接
T-SDXXHQ 002—2022 山东省中小学学生配餐营养设计指南.pdf
绿盟 2013年工业控制系统及其安全性研究报.pdf
GB-T 42532-2023 湿地退化评估技术规范.pdf
GB-T 15166.6-2023 高压交流熔断器 第6部分:用于变压器回路的高压熔断器的熔断件选用导则.pdf
GB-T 39559.3-2020 城市轨道交通设施运营监测技术规范 第3部分:隧道.pdf
GB-T 36670-2018 城市道路交通组织设计规范.pdf
NB-T 33004—2020 电动汽车充换电设施工程施工和竣工验收规范.pdf
T-CRAA 004—2024 观赏鱼评分规则 孔雀鱼.pdf
DB36-T 1346-2020 节能评估技术导则 中药制剂 江西省.pdf
GBT 24159-2022 焊接绝热气瓶.pdf
DB11-T 1282-2015 数据中心节能设计规范 北京市.pdf
GB-T 28827.3-2012 信息技术服务 运行维护 第3部分:应急响应规范.pdf
GB-T 34960.5-2018信息技术服务治理第5部分:数据治理规范标准文件.pdf
GB-T 17396-2022 液压支柱用热轧无缝钢管.pdf
T-CEC 601—2022 电力建设监理企业安全生产标准化实施规范.pdf
GB-T 41339.2-2022 海洋生态修复技术指南 第2部分:珊瑚礁生态修复.pdf
腾讯安全 浅谈勒索病毒场景下零信任技术应用.pdf
GB-T 34944-2017 Java语言源代码漏洞测试规范.pdf
GB-T 14049-2008 额定电压10kV架空绝缘电缆.pdf
DB52-T 1636.5-2021 机关事务云 第5部分:机关运行成本管理数据 贵州省.pdf
1
/
12
评价文档
赞助2.5元 点击下载(730.8 KB)
回到顶部
×
微信扫码支付
2.5
元 自动下载
官方客服微信:siduwenku
支付 完成后 如未跳转 点击这里 下载
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们
微信(点击查看客服)
,我们将及时删除相关资源。