一种基于GitLab的代码审核方法、系统、设备及介质技术方案

技术编号:42640420 阅读:24 留言:0更新日期:2024-09-06 01:37
本发明专利技术涉及人工智能技术领域,尤其涉及一种基于GitLab的代码审核方法、系统、设备及介质,所述方法具体包括:基于代码语义依赖关系图确定所有代码文件中的代码问题并形成代码分析报告,根据所述代码分析报告对存在缺陷的代码内容进行修改;获取已被修改的当前代码内容,基于所述代码语义依赖关系图,通过深度优先搜索算法为所述当前代码内容确定存在直接函数调用关系或间接函数调用关系的上下文代码内容;获取底层人工智能大模型接口每次响应的MR请求消耗的token数量,通过所述token数量计算底层人工智能大模型的资源消耗量,并在所述token数量达到预设消耗阈值时进行告警推送和调用切断。本发明专利技术通过人工智能技术提高了代码审核的准确性和效率。

【技术实现步骤摘要】

本专利技术涉及人工智能,尤其涉及一种基于gitlab的代码审核方法、系统、设备及介质。


技术介绍

1、在软件研发流程中,代码审核是保证代码质量的关键环节,直接关系到业务系统的稳定性和安全性。当前,基于gitlab的代码管理已成为业内的主流实践。在代码发布前,开发人员会向gitlab提交合并请求(merge request,mr),由技术主管进行代码审核。然而,传统的代码审核流程存在以下问题:1、审核效率低下:当一次提交的代码量巨大时,审核人员难以全面检查,容易遗漏关键细节。2、安全漏洞审查不足:审核人员往往更关注业务逻辑的正确性,而对安全漏洞的审查则更多依赖于个人经验,容易造成安全隐患。3、对于小规模的代码改动,审核人员往往只关注git diff代码的差异,而忽略了代码上下文之间的关联,可能导致上线后出现意外的bug。4、在使用人工智能大模型进行代码分析时,可能会消耗大量的计算资源,现有的代码审核工具往往缺乏对资源消耗的监控和管理,可能导致资源浪费或系统崩溃。5、传统的人工代码审核方式效率低下,容易遗漏问题,而现有的自动化工具又无法深入到代码语义层面进行分本文档来自技高网...

【技术保护点】

1.一种基于GitLab的代码审核方法,其特征在于,所述方法具体包括:

2.根据权利要求1所述的方法,其特征在于,所述对所述代码文件对象列表中每个代码文件对象进行符号化处理和抽象语法树构建,获得代码语法结构信息,根据所述代码语法结构信息构建代码语义依赖关系图,具体包括:

3.根据权利要求1所述的方法,其特征在于,所述基于所述代码语义依赖关系图确定所有代码文件中的代码问题并形成代码分析报告,根据所述代码分析报告对存在缺陷的代码内容进行修改,具体包括:

4.根据权利要求1所述的方法,其特征在于,所述基于所述代码语义依赖关系图,通过深度优先搜索算法为所述当前...

【技术特征摘要】

1.一种基于gitlab的代码审核方法,其特征在于,所述方法具体包括:

2.根据权利要求1所述的方法,其特征在于,所述对所述代码文件对象列表中每个代码文件对象进行符号化处理和抽象语法树构建,获得代码语法结构信息,根据所述代码语法结构信息构建代码语义依赖关系图,具体包括:

3.根据权利要求1所述的方法,其特征在于,所述基于所述代码语义依赖关系图确定所有代码文件中的代码问题并形成代码分析报告,根据所述代码分析报告对存在缺陷的代码内容进行修改,具体包括:

4.根据权利要求1所述的方法,其特征在于,所述基于所述代码语义依赖关系图,通过深度优先搜索算法为所述当前代码内容确定存在直接函数调用关系或间接函数调用关系的上下文代码内容,具体包括:

5.根据权利要求1所述的方法,其特征在于,所述根据业务配置的敏感信息关键词列表,为所有代码文件中含有敏感...

【专利技术属性】
技术研发人员:杨杰赖玮周光
申请(专利权)人:广州三七极耀网络科技有限公司
类型:发明
国别省市:

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

1