-
公开(公告)号:CN117591172A
公开(公告)日:2024-02-23
申请号:CN202311546640.8
申请日:2023-11-20
Applicant: 浙江大学 , 恒生电子股份有限公司
Abstract: 本发明公开了一种基于向量数据库的特征融合代码克隆检测方法及装置,能够对代码的函数级别进行解析,得到融合了词法、语法和特征信息的代码指纹,并采用了向量数据库进行存储和查找,大大加快了对于相似代码的查询和检测;随后根据查询到的相似代码函数进行阈值筛选和基于token的最长公共子序列计算得到细粒度的相似度结果,并根据细粒度的相似结果作为函数级别的代码相似结果;最后,根据函数级别的代码相似结果反推出文件级别的相似度结果,通过文件级别的相似度结果反推出项目级别的相似度结果。本发明可以实现在海量数据(亿级别及以上)的情况下快速筛选出最为相似的代码克隆结果,既能保证检测速度,又能保证细粒度情况下检测结果的准确性。
-
公开(公告)号:CN118585440A
公开(公告)日:2024-09-03
申请号:CN202410689195.9
申请日:2024-05-30
Applicant: 浙江大学
Abstract: 本发明公开了一种基于检索增强技术的单元测试自动生成方法及装置,首先利用大语言模型对待测方法所调用其他方法解析生成所调用方法的自然语言描述,并结合待测方法代码及其上下文信息生成待测方法的自然语言描述;然后根据待测方法的代码信息评估是否需要采用检索增强技术生成单元测试用例,如需采用则将自然语言描述和代码输入大语言模型进行嵌入,并将嵌入结果在向量数据库中检索出相似的结果,通过对结果进行处理、排序形成全面的提示集作为最终检索增强输出;最后结合检索增强输出,用大语言模型生成单元测试用例的生成策略。本发明能够对待生成待测方法进行解析,通过大语言模型和检索增强技术的赋能实现高质量的单元测试自动生成。
-