一种代码缺陷检测模型构建方法、装置、设备及存储介质制造方法及图纸

技术编号:37624400 阅读:23 留言:0更新日期:2023-05-18 12:15
本申请公开了一种代码缺陷检测模型构建方法、装置、设备及存储介质,涉及信息技术领域,包括:基于自身的代码版本管理系统对企业内部的源代码进行数据标注,得到标注后的源代码;基于自身的当前检测模型以及标注后的源代码进行训练,并判断训练后的检测模型是否全局收敛;如果否则将添加差分隐私后的检测模型上传至中央服务器,以便预设中央服务器聚合接收到的若干个添加差分隐私后的检测模型后得到新的检测模型;将中央服务器下发的新的检测模型作为自身的当前检测模型,重新跳转至基于自身的当前检测模型以及标注后的源代码进行训练的步骤,直至模型全局收敛时确定目标检测模型。本申请利用企业内部的源代码来训练模型,提高了模型的可靠性。提高了模型的可靠性。提高了模型的可靠性。

【技术实现步骤摘要】
一种代码缺陷检测模型构建方法、装置、设备及存储介质


[0001]本专利技术涉及信息
,特别涉及一种代码缺陷检测模型构建方法、装置、设备及存储介质。

技术介绍

[0002]随着信息技术的不断发展,软件系统的复杂度也随之增长,因此构成软件系统的源代码中不可避免的存在着大量的代码缺陷。代码缺陷是指源代码中存在的,导致最终产品无法满足软件需求和其规格要求,需要进行修复的瑕疵和问题。代码缺陷制约了软件的应用和发展,也带来了一系列安全性问题。
[0003]传统的代码缺陷检测手段依赖于人工代码审查、语法分析、控制流分析等方法,存在效率和准确率不高的问题。随着人工智能技术的发展,各种机器学习算法被应用于代码缺陷检测领域,但是机器学习算法预测的准确性依赖于用于训练的数据的质量,而源代码作为企业的核心资产,通常不会进行数据共享,使用开源代码进行训练得到的模型,应用在企业内部的源代码时存在缺陷预测准确度不高的问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种代码缺陷检测模型构建方法、装置、设备及存储介质,能够有效解决现有技术训练过程中源代码的安全性问题,进而能够有效提高模型检测的准确性以及模型的可靠性。其具体方案如下:第一方面,本申请提供了一种代码缺陷检测模型构建方法,应用于预先部署于企业内部的边缘计算设备,包括:基于预设数据标注规则以及自身的代码版本管理系统对企业内部的源代码进行数据标注,得到标注后的所述源代码;基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作,并判断训练后的所述代码缺陷检测模型是否全局收敛,如果否则对训练后的所述代码缺陷检测模型添加差分隐私;将添加差分隐私后的所述代码缺陷检测模型上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型进行聚合计算,得到新的所述代码缺陷检测模型;将所述预设中央服务器下发的新的所述代码缺陷检测模型作为自身的当前代码缺陷检测模型,重新跳转至所述基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作的步骤,直至模型全局收敛时确定相应的目标代码缺陷检测模型。
[0005]可选的,所述基于预设数据标注规则以及自身的代码版本管理系统对企业内部的源代码进行数据标注之前,还包括:通过预设人机交互接口获取用户上传的企业内部的源代码,并基于自身的代码版本管理系统对所述源代码进行日常的迭代开发。
[0006]可选的,所述基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作,包括:通过利用自身的当前代码缺陷检测模型根据支持向量机算法以及标注后的所述源代码进行相应的模型训练操作。
[0007]可选的,所述将添加差分隐私后的所述代码缺陷检测模型上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型进行聚合计算,包括:基于训练后的所述代码缺陷检测模型对所述源代码进行缺陷预测,并基于预测结果生成相应的模型权重;将添加差分隐私后的所述代码缺陷检测模型以及所述模型权重上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型以及对应的所述模型权重进行聚合计算。
[0008]可选的,所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型以及对应的所述模型权重进行聚合计算,包括:所述预设中央服务器利用联邦平均算法并基于若干个添加差分隐私后的所述代码缺陷检测模型以及对应的所述模型权重进行相应的聚合计算。
[0009]可选的,所述基于预设数据标注规则以及自身的代码版本管理系统对自家企业的源代码进行数据标注的过程中,还包括:通过运行包含SZZ算法的软件对所述代码版本管理系统内保存的所有的代码变更历史记录进行扫描,以基于预设关键字识别出缺陷修复相关的变更历史记录,得到若干个缺陷修复历史记录;利用所述代码版本管理系统的差异查找算法,确定与各所述缺陷修复历史记录所对应的代码位置,以获取相应的修复前的缺陷引入代码;对与各所述缺陷修复历史记录对应的所述缺陷引入代码进行噪声数据清洗操作。
[0010]可选的,所述判断训练后的所述代码缺陷检测模型是否全局收敛,包括:基于训练后的所述代码缺陷检测模型对所述源代码进行缺陷预测,通过对得到的预测结果进行评估来判断训练后的所述代码缺陷检测模型是否全局收敛;或,基于训练后的所述代码缺陷检测模型对预设验证数据集进行缺陷预测,并通过对得到的预测结果进行评估来判断训练后的所述代码缺陷检测模型是否全局收敛。
[0011]第二方面,本申请提供了一种代码缺陷检测模型构建装置,应用于预先部署于企业内部的边缘计算设备,包括:数据标注模块,用于基于预设数据标注规则以及自身的代码版本管理系统对企业内部的源代码进行数据标注,得到标注后的所述源代码;模型训练模块,用于基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作,并判断训练后的所述代码缺陷检测模型是否全局收敛,如果否则对训练后的所述代码缺陷检测模型添加差分隐私;模型聚合模块,用于将添加差分隐私后的所述代码缺陷检测模型上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型进行聚合计算,得到新的所述代码缺陷检测模型;
模型确定模块,用于将所述预设中央服务器下发的新的所述代码缺陷检测模型作为自身的当前代码缺陷检测模型,重新跳转至所述基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作的步骤,直至模型全局收敛时确定相应的目标代码缺陷检测模型。
[0012]第三方面,本申请提供了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述的代码缺陷检测模型构建方法的步骤。
[0013]第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的代码缺陷检测模型构建方法的步骤。
[0014]可见,本申请中,基于预设数据标注规则以及自身的代码版本管理系统对企业内部的源代码进行数据标注,得到标注后的所述源代码;基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作,并判断训练后的所述代码缺陷检测模型是否全局收敛,如果否则对训练后的所述代码缺陷检测模型添加差分隐私;将添加差分隐私后的所述代码缺陷检测模型上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型进行聚合计算,得到新的所述代码缺陷检测模型;将所述预设中央服务器下发的新的所述代码缺陷检测模型作为自身的当前代码缺陷检测模型,重新跳转至所述基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作的步骤,直至模型全局收敛时确定相应的目标代码缺陷检测模型。能够有效解决现有技术训练过程中源代码的安全性问题,进而能够有效提高本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码缺陷检测模型构建方法,其特征在于,应用于预先部署于企业内部的边缘计算设备,包括:基于预设数据标注规则以及自身的代码版本管理系统对企业内部的源代码进行数据标注,得到标注后的所述源代码;基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作,并判断训练后的所述代码缺陷检测模型是否全局收敛,如果否则对训练后的所述代码缺陷检测模型添加差分隐私;将添加差分隐私后的所述代码缺陷检测模型上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型进行聚合计算,得到新的所述代码缺陷检测模型;将所述预设中央服务器下发的新的所述代码缺陷检测模型作为自身的当前代码缺陷检测模型,重新跳转至所述基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作的步骤,直至模型全局收敛时确定相应的目标代码缺陷检测模型。2.根据权利要求1所述的代码缺陷检测模型构建方法,其特征在于,所述基于预设数据标注规则以及自身的代码版本管理系统对企业内部的源代码进行数据标注之前,还包括:通过预设人机交互接口获取用户上传的企业内部的源代码,并基于自身的代码版本管理系统对所述源代码进行日常的迭代开发。3.根据权利要求1所述的代码缺陷检测模型构建方法,其特征在于,所述基于自身的当前代码缺陷检测模型以及标注后的所述源代码进行模型训练操作,包括:通过利用自身的当前代码缺陷检测模型根据支持向量机算法以及标注后的所述源代码进行相应的模型训练操作。4.根据权利要求1所述的代码缺陷检测模型构建方法,其特征在于,所述将添加差分隐私后的所述代码缺陷检测模型上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型进行聚合计算,包括:基于训练后的所述代码缺陷检测模型对所述源代码进行缺陷预测,并基于预测结果生成相应的模型权重;将添加差分隐私后的所述代码缺陷检测模型以及所述模型权重上传至预设中央服务器,以便所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型以及对应的所述模型权重进行聚合计算。5.根据权利要求4所述的代码缺陷检测模型构建方法,其特征在于,所述预设中央服务器基于从各所述边缘计算设备接收到的若干个添加差分隐私后的所述代码缺陷检测模型以及对应的所述模型权重进行聚合计算,包括:所述预设中央服务器利用联邦平均算法并基于若干个添加差分隐私后的所述代码缺陷检测模型以及对应的所述模型权...

【专利技术属性】
技术研发人员:周祥龙魏子重李锐
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1