[发明专利]基于人工智能的代码评审方法、装置、存储介质及服务器在审
申请号: | 202111524349.1 | 申请日: | 2021-12-14 |
公开(公告)号: | CN114185548A | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 廖光明 | 申请(专利权)人: | 平安付科技服务有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/33;G06F16/36 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 刘永康 |
地址: | 518000 广东省深圳市福田区福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 人工智能 代码 评审 方法 装置 存储 介质 服务器 | ||
本发明属于人工智能技术领域,尤其涉及一种基于人工智能的代码评审方法、装置、可读存储介质及服务器。所述方法包括:接收终端设备发送的代码评审任务指令,并根据所述代码评审任务指令确定待评审的目标代码块;对所述目标代码块进行代码特征信息提取,得到所述目标代码块的代码特征信息;根据所述目标代码块的代码特征信息,将所述目标代码块与预设的代码评审知识库中的各个历史问题代码块进行匹配,得到匹配结果;根据所述匹配结果从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为参考代码块;在所述代码评审知识库中确定与各个所述参考代码块分别对应的各个代码修复建议,并将确定的各个所述代码修复建议发送至所述终端设备。
技术领域
本发明属于人工智能技术领域,尤其涉及一种基于人工智能的代码评审方法、装置、计算机可读存储介质及服务器。
背景技术
在研发人员撰写代码的过程中,为了避免在所写代码中存在问题和缺陷,会通过代码评审(Code Review)的方式对代码进行核查,代码评审的方式多种多样,可以由撰写者自行进行代码评审,也可以由其同事为其进行代码评审,还可以通过组内集体评审的方式来进行代码评审。但无论是采用何种方式,都需要凭借人力逐行地阅读代码,发现其中的问题和缺陷,当代码量较小时,这种人工进行代码评审的方式还可以勉强维持,但是,随着软件系统越来越复杂,所需的代码量也越来越大,动辄会出现数万条甚至数十万条的代码量,在这种情况下,如果还依赖于人工方式来进行代码评审,则会造成大量的人力成本以及时间成本的浪费,效率极为低下,无法满足实际的业务需求。而且,通过人工方式来进行代码评审时,严重依赖于代码评审人员的个人能力,一些经验丰富的代码评审人员能够发现较多的问题和缺陷,而一些经验欠缺的代码评审人员则难以发现代码中的问题和缺陷,遗留下较多的隐患。
发明内容
有鉴于此,本发明实施例提供了一种基于人工智能的代码评审方法、装置、计算机可读存储介质及服务器,以解决现有的代码评审方法效率较低且容易遗留较多隐患的问题。
本发明实施例的第一方面提供了一种基于人工智能的代码评审方法,可以包括:
接收终端设备发送的代码评审任务指令,并根据所述代码评审任务指令确定待评审的目标代码块;
对所述目标代码块进行代码特征信息提取,得到所述目标代码块的代码特征信息;
根据所述目标代码块的代码特征信息,将所述目标代码块与预设的代码评审知识库中的各个历史问题代码块进行匹配,得到匹配结果;
根据所述匹配结果从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为参考代码块;
在所述代码评审知识库中确定与各个所述参考代码块分别对应的各个代码修复建议,并将确定的各个所述代码修复建议发送至所述终端设备。
在第一方面的一种具体实现方式中,所述根据所述匹配结果从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为参考代码块,包括:
根据所述匹配结果生成所述代码评审知识库的匹配度序列;
根据所述代码评审知识库中的各个所述历史问题代码块的问题类型生成所述代码评审知识库的第一权重序列;
根据所述匹配度序列和所述第一权重序列计算所述代码评审知识库的第一优先度序列;
根据所述第一优先度序列从所述代码评审知识库中选取符合预设条件的所述历史问题代码块作为所述参考代码块。
在第一方面的一种具体实现方式中,所述根据所述匹配度序列和所述第一权重序列计算所述代码评审知识库的第一优先度序列,包括:
根据下式计算所述代码评审知识库的第一优先度序列:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安付科技服务有限公司,未经平安付科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111524349.1/2.html,转载请声明来源钻瓜专利网。