【技术实现步骤摘要】
本专利技术涉及基于深度学习的代码生成领域,尤其涉及一种基于代码大模型的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语言文档测试自动生...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。