代码维护问题检测方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:38058950 阅读:22 留言:0更新日期:2023-06-30 11:26
本申请公开了一种代码维护问题检测方法、装置、电子设备及可读存储介质,涉及计算机技术领域,所述代码维护问题检测方法包括:将第一代码文件拆分为多个第一代码块,并将各所述第一代码块转换成对应的第一特征向量序列;将各所述第一代码块的第一特征数据输入预设的目标二分类模型以判断所述第一代码文件是否存在维护问题,其中,所述第一特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第一特征向量序列;若是,则将各所述第一代码块的第一特征数据输入预设的目标多分类模型,获得所述第一代码文件中存在的维护问题类型。本申请解决了代码的维护更新效率低的技术问题。题。题。

【技术实现步骤摘要】
代码维护问题检测方法、装置、电子设备及可读存储介质


[0001]本申请涉及计算机
,尤其涉及一种代码维护问题检测方法、装置、电子设备及可读存储介质。

技术介绍

[0002]在软件开发中,对第一代码文件的维护更新是一个非常重要的过程。软件开发人员经常需要面对大量的第一代码文件,这些第一代码文件如果不进行维护和更新则会导致代码文件无法适配新的需求、功能缺陷增多以及存在代码冗余度高等问题。通常情况下,对前端代码可维护性分析往往是通过人工逐条浏览原始代码以进行代码评审,分析出代码文件中存在的各种问题,再对代码进行复杂的修改,其中涉及的工作量十分巨大,导致代码的维护更新效率较为低下。

技术实现思路

[0003]本申请的主要目的在于提供一种代码维护问题检测方法、装置、电子设备及可读存储介质,旨在解决代码的维护更新效率低的技术问题。
[0004]为实现上述目的,本申请提供一种代码维护问题检测方法,所述代码维护问题检测方法包括:将第一代码文件拆分为多个第一代码块,并将各所述第一代码块转换成对应的第一特征向量序列;将各所述第一代码块的第一特征数据输入预设的目标二分类模型以判断所述第一代码文件是否存在维护问题,其中,所述第一特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第一特征向量序列,所述目标二分类模型是通过多个代码块以及多个代码块对应的维护标签训练得到,所述维护标签包括存在维护问题和不存在维护问题;若是,则将各所述第一代码块的第一特征数据输入预设的目标多分类模型,获得所述第一代码文件中存在的维护问题类型,其中,所述目标多分类模型是通过多个存在维护问题的代码文件训练得到。
[0005]可选地,所述将各所述第一代码块转换成对应的第一特征向量序列的步骤包括:删除各所述第一代码块中的注释和空白段,获得各目标代码块;通过预设的Java Script(脚本语言)解析器将各所述目标代码块转换成对应的抽象语法树;将各所述抽象语法树转换成对应的第一特征向量序列。
[0006]可选地,所述将各所述抽象语法树转换成对应的第一特征向量序列的步骤包括:对各所述抽象语法树的各节点进行深度优先遍历,并将遍历到的各节点进行编码,生成各所述节点分别对应的特征向量;基于各所述节点的深度优先遍历顺序,将各所述抽象语法树中的各节点对应的特征向量组合成第一特征向量序列。
[0007]可选地,在所述将各所述第一代码块的第一特征数据输入预设的目标二分类模型以判断所述第一代码文件是否存在维护问题的步骤之前,所述方法还包括:将第二代码文件拆分为多个第二代码块,并将各所述第二代码块转换成对应的第二特征向量序列;获取各所述第二代码块分别对应的维护标签;根据各所述第二代码块分别对应的第二特征数据以及维护标签对预设二分类模型进行训练,获得目标二分类模型,其中,所述第二特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第二特征向量序列。
[0008]可选地,所述根据各所述第二代码块分别对应的第二特征数据以及维护标签对预设二分类模型进行训练,获得目标二分类模型的步骤包括:基于预设的支持向量机算法,构建预设二分类模型;将各所述第二代码块分别对应的第二特征数据输入所述预设二分类模型,获得预测值;根据各所述第二代码块对应的预测值和维护标签确定所述预设二分类模型的预测精度;根据所述预测精度对所述预设二分类模型的模型参数进行优化,获得目标二分类模型,其中,所述模型参数至少包括偏置值和权值向量。
[0009]可选地,在所述将各所述第一代码块的第一特征数据输入预设的目标多分类模型,获得所述第一代码文件中存在的维护问题类型的步骤之前,所述方法还包括:基于预设的k均值聚类算法构建预设多分类模型;将多个存在维护问题的第二代码文件对应的多个第二代码块转换成对应的第二特征向量序列;根据各所述第二代码块的第二特征数据对所述预设多分类模型进行无监督训练,获得目标多分类模型,其中,所述第二特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第二特征向量序列。
[0010]可选地,所述根据各所述第二代码块的第二特征数据对所述预设多分类模型进行无监督训练,获得目标多分类模型的步骤包括:基于预设簇数量,初始化所述预设多分类模型的多个聚类中心;将各所述第二特征数据分配到各所述聚类中心对应的簇;根据各簇的特征数据更新对应聚类中心,返回执行步骤:将各所述第二特征数据分配到各所述聚类中心对应的簇,直至聚类中心不再发生变化或迭代更新次数达到预设次数;获取各所述聚类中心分别对应的维护问题类型标签,并将各所述维护问题类型标签添加到所述预设多分类模型中,获得目标多分类模型。
[0011]本申请还提供一种代码维护问题检测装置,所述代码维护问题检测装置应用于代码维护问题检测设备,所述代码维护问题检测装置包括:文件转换模块,用于将第一代码文件拆分为多个第一代码块,并将各所述第一代码块转换成对应的第一特征向量序列;二分类模块,用于将各所述第一代码块的第一特征数据输入预设的目标二分类模
型以判断所述第一代码文件是否存在维护问题,其中,所述第一特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第一特征向量序列,所述目标二分类模型是通过多个代码块以及多个代码块对应的维护标签训练得到,所述维护标签包括存在维护问题和不存在维护问题;多分类模块,用于若是,则将各所述第一代码块的第一特征数据输入预设的目标多分类模型,获得所述第一代码文件中存在的维护问题类型,其中,所述目标多分类模型是通过多个存在维护问题的代码文件训练得到。
[0012]本申请还提供一种电子设备,所述电子设备为实体设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述代码维护问题检测方法的程序,所述代码维护问题检测方法的程序被处理器执行时可实现如上述的代码维护问题检测方法的步骤。
[0013]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有实现代码维护问题检测方法的程序,所述代码维护问题检测方法的程序被处理器执行时实现如上述的代码维护问题检测方法的步骤。
[0014]本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的代码维护问题检测方法的步骤。
[0015]本申请提供了一种代码维护问题检测方法、装置、电子设备及可读存储介质,首先将第一代码文件拆分为多个第一代码块,并将各所述第一代码块转换成对应的第一特征向量序列,再将各所述第一代码块的第一特征数据输入预设的目标二分类模型以判断所述第一代码文件是否存在维护问题,其中,所述第一特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第一特征向量序列,所述目标二分类模型是通过多个代码块以及多个代码块对应的维护标签训练得到,所述维护标签包括存在维护问题和不存在维护问题,若是,则将各所述第一代码块的第一特征数据输入预设的目标多分类模型,获得所述第一代码文件中存在的维护问题类型,其中,所述目标多分类模型是通过多个存在维护问题的代码文件训练得到。本申请的技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码维护问题检测方法,其特征在于,所述代码维护问题检测方法包括:将第一代码文件拆分为多个第一代码块,并将各所述第一代码块转换成对应的第一特征向量序列;将各所述第一代码块的第一特征数据输入预设的目标二分类模型以判断所述第一代码文件是否存在维护问题,其中,所述第一特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第一特征向量序列,所述目标二分类模型是通过多个代码块以及多个代码块对应的维护标签训练得到,所述维护标签包括存在维护问题和不存在维护问题;若是,则将各所述第一代码块的第一特征数据输入预设的目标多分类模型,获得所述第一代码文件中存在的维护问题类型,其中,所述目标多分类模型是通过多个存在维护问题的代码文件训练得到。2.如权利要求1所述代码维护问题检测方法,其特征在于,所述将各所述第一代码块转换成对应的第一特征向量序列的步骤包括:删除各所述第一代码块中的注释和空白段,获得各目标代码块;通过预设的Java Script解析器将各所述目标代码块转换成对应的抽象语法树;将各所述抽象语法树转换成对应的第一特征向量序列。3.如权利要求2所述代码维护问题检测方法,其特征在于,所述将各所述抽象语法树转换成对应的第一特征向量序列的步骤包括:对各所述抽象语法树的各节点进行深度优先遍历,并将遍历到的各节点进行编码,生成各所述节点分别对应的特征向量;基于各所述节点的深度优先遍历顺序,将各所述抽象语法树中的各节点对应的特征向量组合成第一特征向量序列。4.如权利要求1所述代码维护问题检测方法,其特征在于,在所述将各所述第一代码块的第一特征数据输入预设的目标二分类模型以判断所述第一代码文件是否存在维护问题的步骤之前,所述方法还包括:将第二代码文件拆分为多个第二代码块,并将各所述第二代码块转换成对应的第二特征向量序列;获取各所述第二代码块分别对应的维护标签;根据各所述第二代码块分别对应的第二特征数据以及维护标签对预设二分类模型进行训练,获得目标二分类模型,其中,所述第二特征数据至少包括注释、拼写错误比例、中文字符占比以及所述第二特征向量序列。5.如权利要求4所述代码维护问题检测方法,其特征在于,所述根据各所述第二代码块分别对应的第二特征数据以及维护标签对预设二分类模型进行训练,获得目标二分类模型的步骤包括:基于预设的支持向量机算法,构建预设二分类模型;将各所述第二代码块分别对应的第二特征数据输入所述预设二分类模型,获得预测值;根据各所述第二代码块对应的预测值和维护标签确定所述预设二分类模型的预测精度;根据所述预测精度对所述预设二分类模型的模型参数进行优化,获得目标二分类模
型,其中,所述模型参数至少包括偏...

【专利技术属性】
技术研发人员:温桂龙
申请(专利权)人:深圳市明源云科技有限公司
类型:发明
国别省市:

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

1