一种基于大语言模型与静态分析工具的代码摘要生成方法技术

技术编号:40981353 阅读:37 留言:0更新日期:2024-04-18 21:27
本发明专利技术公开了一种基于大语言模型与静态分析结合的代码摘要生成方法,具体实施步骤如下:使用词法、语法解析器对输入的源代码进行词法、语法解析,生成源代码的抽象语法树;为每个函数、方法或者代码块生成其源代码对应的控制流图;为每一个控制流的节点生成一些额外的数据流相关信息;第三步生成的的控制流图中的每个生成结构化的伪代码块;采用深度优先的方式遍历第三步中生成的控制流图并结合第四步生成的伪代码描述;对所有的顺序代码块摘要进行合并汇总,生成完整代码的摘要。本发明专利技术用于解决多大模型的幻觉、复杂代码逻辑和算术表达式理解能力较低、支持的编程语言有限、输入的Token有限的问题,提高代码摘要生成的准确度。

【技术实现步骤摘要】

本专利技术涉及计算机程序分析,特别涉及一种基于大语言模型与静态分析工具的代码摘要生成方法


技术介绍

1、神经网络和自然语言处理相关的应用是自动代码摘要生成的主要方法,通过预处理的代码和摘要数据集对神经网络模型进行训练,生成代码摘要的神经网络模型。其中包括直接使用源代码的token、使用源代码的ast以及数据流等信息构建seqencel、tree-based、graph-based等模型,相关的各类研究方法的目的都是为了尽量获取源代码相关的词法、语法、语义等数据与标准化的代码摘要数据,并通过神经网络模型学习两者之间的映射关联关系,以达到最终模型在输入目标代码后能输出尽量准确、有效的代码摘要。

2、最近,预训练的大语言模型(例如,codet5、codebert、chatgpt)的引入为代码摘要生成带来了新的发展和一些实验数据下的显著提升。这些模型通过大规模的预训练,使用大量的数据集,其中就包括大量的代码库以及自然语言数据集,同时具有很好的上下理解、自然语言处理的能力,能够捕捉代码中的语义信息,有助于生成更加准确的摘要。其生成代码摘要的过程比较简单本文档来自技高网...

【技术保护点】

1.一种基于大语言模型与静态分析工具的代码摘要生成方法,具体实施步骤如下:

2.如权利要求1所述的一种基于大语言模型与静态分析工具的代码摘要生成方法,其特征在于:所述步骤第2步中,每个控制流图与一段代码相对应,并且如果抽象语法树的节点包含函数、方法、代码块,那么根据抽象语法树的节点的可以索引到其对应的控制流图,控制流图包含函数、方法、代码块的源码执行的控制流信息,是根据统一结构的抽象语法树生成,因此是语言无关的,控制流图的节点属性信息如下:

3.如权利要求2所述的一种基于大语言模型与静态分析工具的代码摘要生成方法,其特征在于:所述步骤第3的具体步骤如下:

<...

【技术特征摘要】

1.一种基于大语言模型与静态分析工具的代码摘要生成方法,具体实施步骤如下:

2.如权利要求1所述的一种基于大语言模型与静态分析工具的代码摘要生成方法,其特征在于:所述步骤第2步中,每个控制流图与一段代码相对应,并且如果抽象语法树的节点包含函数、方法、代码块,那么根据抽象语法树的节点的可以索引到其对应的控制流图,控制流图包含函数、方法、代码块的源码执行的控制流信息,是根据统一结构的抽象语法树生成,因此是语言无关的,控制流图的节点属性信息如下:

3.如权利要求2所述的一种基于大语言模型与静态分析工具的代码摘要生成方法,其特征在于:所述步骤第3的具体步骤如下:

4.如权利要求3所述的一种基于大语言模型与静态分析工具的代码摘要生成方法,其特征在于:所述步骤第31的具体步骤如下:

5.如权利要求4所述的一种基于大语言模型与静态分析工具的代码摘要生成方法,其特征在于:所述步骤第32的具体步骤如下:

6.如权利要求5所述的一种基于大语言模型与静态分析工具的代码摘要生成方法,其特征在于:在步骤第33的中遍历instruct...

【专利技术属性】
技术研发人员:刘浛李强龙利民胡勇超
申请(专利权)人:图灵人工智能研究院南京有限公司
类型:发明
国别省市:

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

1