当前位置: 首页 > 专利查询>浙江大学专利>正文

基于代码大模型的Rust语言文档测试自动生成方法及装置制造方法及图纸

技术编号:41183306 阅读:19 留言:0更新日期:2024-05-07 22:16
本发明专利技术提出了一种基于代码大模型的Rust语言文档测试自动生成方法及装置,包括:收集Rust语言的代码‑注释‑文档测试数据集;搜索数据集中的函数在其所在项目中的函数用例;对函数用例进行聚类、合并重复的函数用例,按照其质量进行打分并排序,选出得分最高的典型函数用例;利用低秩适应技术对代码大模型进行微调,将代码大模型生成的文档测试和参考文档测试的相似度、以及可运行性作为评估指标,在测试集上评估代码大模型的生成效果。通过本发明专利技术生成的文档测试能够帮助代码库的使用者更好地理解代码的使用方法,填补了智能代码生成技术在Rust文档测试领域的空白。

【技术实现步骤摘要】

本专利技术涉及基于深度学习的代码生成领域,尤其涉及一种基于代码大模型的rust语言文档测试自动生成方法及装置。


技术介绍

1、在软件领域,系统软件是直接执行或者控制硬件的计算机软件,作为底层软件支持上层应用软件的开发和运行;保障系统软件的稳定和安全性,具有重要意义。过去,c/c++是开发系统软件的主流语言;然而,c/c++语言不限制内存和指针的使用,导致由c/c++语言开发的软件很容易存在隐蔽的内存泄漏和指针使用安全性等问题,给软件开发和维护人员带来了很大的维护压力。

2、rust是一门新兴的通用系统级编程语言,通过独特的所有权和生命周期机制,可以有效地避免编程时引入内存问题,同时保持和c/c++语言相近的高性能。在编程语言问答社区stack overflow组织的全球开发者调查报告中,rust已经连续六年被列为最受开发者喜爱的编程语言。由于rust语言出色的内存安全机制、不亚于c/c++语言的性能优势等特点,近年来也被认为是最适合开发系统软件的下一代编程语言之一。

3、在rust编程语言中,有一种称为文档测试的特性,它允许开发人员本文档来自技高网...

【技术保护点】

1.一种基于代码大模型的Rust语言文档测试自动生成方法,其特征在于,包含以下步骤:

2.根据权利要求1所述的基于代码大模型的Rust语言文档测试自动生成方法,其特征在于,所述步骤(1)中,利用Rust语言的语法解析器将源代码解析成抽象语法树,确定函数代码和函数文档的位置;再利用正则表达式从函数文档中抽取纯文本注释和文档测试,并针对文档测试生成任务的需求进行数据清洗。

3.根据权利要求1所述的基于代码大模型的Rust语言文档测试自动生成方法,其特征在于,所述步骤(2)具体为:对于数据集中的每一条数据,利用静态分析工具获取其所在项目的函数调用图;在函数调用图中搜索调...

【技术特征摘要】

1.一种基于代码大模型的rust语言文档测试自动生成方法,其特征在于,包含以下步骤:

2.根据权利要求1所述的基于代码大模型的rust语言文档测试自动生成方法,其特征在于,所述步骤(1)中,利用rust语言的语法解析器将源代码解析成抽象语法树,确定函数代码和函数文档的位置;再利用正则表达式从函数文档中抽取纯文本注释和文档测试,并针对文档测试生成任务的需求进行数据清洗。

3.根据权利要求1所述的基于代码大模型的rust语言文档测试自动生成方法,其特征在于,所述步骤(2)具体为:对于数据集中的每一条数据,利用静态分析工具获取其所在项目的函数调用图;在函数调用图中搜索调用了目标函数的函数作为备选函数用例;将所述备选函数用例补充到数据集中。

4.根据权利要求1所述的基于代码大模型的rust语言文档测试自动生成方法,其特征在于,所述步骤(3)具体为:提取函数用例内部调用的外部api序列,作为该函数用例的聚类特征;计算函数用例之间的编辑距离,利用hdbscan算法对函数用例进行聚类,合并重复的函数用例,只保留每个类簇中间点的函数用例;利用评分方法计算剩余函数用例的质量分数,根据质量分数从高到低对函数用例进行排序,保留得分最高的k个函数用例。

5.根据权利要求4所述的基于代码大模型的rust语言文档测试自动生...

【专利技术属性】
技术研发人员:胡星谭梓煊夏鑫杨小虎
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1