[发明专利]基于人工智能的代码评审方法、装置、存储介质及服务器在审
申请号: | 202111524349.1 | 申请日: | 2021-12-14 |
公开(公告)号: | CN114185548A | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 廖光明 | 申请(专利权)人: | 平安付科技服务有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/33;G06F16/36 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 刘永康 |
地址: | 518000 广东省深圳市福田区福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 人工智能 代码 评审 方法 装置 存储 介质 服务器 | ||
1.一种基于人工智能的代码评审方法,其特征在于,包括:
接收终端设备发送的代码评审任务指令,并根据所述代码评审任务指令确定待评审的目标代码块;
对所述目标代码块进行代码特征信息提取,得到所述目标代码块的代码特征信息;
根据所述目标代码块的代码特征信息,将所述目标代码块与预设的代码评审知识库中的各个历史问题代码块进行匹配,得到匹配结果;
根据所述匹配结果从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为参考代码块;
在所述代码评审知识库中确定与各个所述参考代码块分别对应的各个代码修复建议,并将确定的各个所述代码修复建议发送至所述终端设备。
2.根据权利要求1所述的代码评审方法,其特征在于,所述根据所述匹配结果从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为参考代码块,包括:
根据所述匹配结果生成所述代码评审知识库的匹配度序列;
根据所述代码评审知识库中的各个所述历史问题代码块的问题类型生成所述代码评审知识库的第一权重序列;
根据所述匹配度序列和所述第一权重序列计算所述代码评审知识库的第一优先度序列;
根据所述第一优先度序列从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为所述参考代码块。
3.根据权利要求2所述的代码评审方法,其特征在于,所述根据所述匹配度序列和所述第一权重序列计算所述代码评审知识库的第一优先度序列,包括:
根据下式计算所述代码评审知识库的第一优先度序列:
PriSq=Hadamard(MatchSq,WeightSq)=(Pri1、Pri2、Pri3、......、Prin、......、PriN)=(Match1×Weight1、Match2×Weight2、Match3×Weight3、......、Matchn×Weightn、......、MatchN×WeightN)
MatchSq=(Match1、Match2、Match3、......、Matchn、......、MatchN)
WeightSq=(Weight1、Weight2、Weight3、......、Weightn、......、WeightN)
其中,n为所述代码评审知识库中的各个所述历史问题代码块的序号,1≤n≤N,N为所述代码评审知识库中的所述历史问题代码块的总数,Matchn为所述目标代码块与所述代码评审知识库中的第n个所述历史问题代码块之间的匹配度,MatchSq为所述匹配度序列,Weightn为所述代码评审知识库中的第n个所述历史问题代码块的问题类型所对应的第一权重,WeightSq为所述第一权重序列,Hadamard为求哈达马积函数,Prin为所述代码评审知识库中的第n个所述历史问题代码块的第一优先度,PriSq为所述第一优先度序列。
4.根据权利要求1所述的代码评审方法,其特征在于,所述根据所述匹配结果从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为参考代码块,包括:
根据所述匹配结果生成所述代码评审知识库的匹配度序列;
根据所述代码评审知识库中的各个所述历史问题代码块的问题严重程度生成所述代码评审知识库的第二权重序列;
根据所述匹配度序列和所述第二权重序列计算所述代码评审知识库的第二优先度序列;
根据所述第二优先度序列从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为所述参考代码块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安付科技服务有限公司,未经平安付科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111524349.1/1.html,转载请声明来源钻瓜专利网。