南京大学李薛成获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉南京大学申请的专利一种结合符号执行的人工智能制导生成程序测试方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119537233B 。
龙图腾网通过国家知识产权局官网在2025-12-05发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202411650905.3,技术领域涉及:G06F11/3668;该发明授权一种结合符号执行的人工智能制导生成程序测试方法是由李薛成;赵祖威;汤恩义;陈鑫;陆一飞;李重;李宣东设计研发完成,并于2024-11-19向国家知识产权局提交的专利申请。
本一种结合符号执行的人工智能制导生成程序测试方法在说明书摘要公布了:本发明提出了一种结合符号执行的人工智能制导生成程序测试方法,通过结合符号执行的严格推理能力和人工智能模型的模糊推理能力对人工智能制导自动化生成的代码进行有效测试,结合利用人工智能技术对符号执行所收集的程序路径约束进行增强求解,生成更多高质量的、高覆盖的测试用例,从而提高测试覆盖率和测试结果的正确性,发现传统测试框架难以捕捉的程序错误,提高测试覆盖率和检测代码错误的能力,且无论待测程序是否有基准实现与预定义输出,本测试方法均可以成功实施,可以帮助开发人员更好地利用人工智能制导生成的程序,提高程序的可靠性。
本发明授权一种结合符号执行的人工智能制导生成程序测试方法在权利要求书中公布了:1.一种结合符号执行的人工智能制导生成程序测试方法,其特征在于通过结合符号执行的严格推理能力和人工智能模型的模糊推理能力对人工智能制导自动化生成的代码进行有效测试,结合利用人工智能技术对符号执行所收集的程序路径约束进行增强求解,生成测试用例,具体步骤为: 步骤1-1.将符号执行技术引入人工智能制导生成程序的测试框架,使符号执行的严格推理能力和人工智能模型的模糊推理能力实现有效结合,构建完整的测试流程,自动化生成测试用例的输入与输出,进行功能测试; 测试框架中的具体步骤如下: 步骤1-1-1.使用人工智能模型根据用户提供的自然语言描述和函数模板生成待测程序代码,其中,自然语言描述概述了要解决的问题,并指定了代码的预期功能,函数模板定义了代码的格式,包括函数名称、参数类型和名称,以及不同编程语言的任何必要库和包; 步骤1-1-2.使用人工智能模型根据自然语言描述与测试输入模板生成模糊测试方法中的种子输入Iseed,其中,自然语言描述描述了要解决的问题,测试输入模板定义了测试输入的格式,包括输入的类型和名称,以及输入的取值范围; 步骤1-1-3.应用模糊测试方法,利用人工智能模型生成的种子输入,以变异用例的方法生成更多测试输入Ifuzz,将种子输入与变异生成的测试输入合并,作为初始测试输入集,记为IOriginal,则有: IOriginal=Iseed∪Ifuzz 步骤1-1-4.将上述人工智能模型制导生成的待测程序输入符号执行引擎,设置符号约束,进行约束收集,并使用符号执行引擎与人工智能模型分别进行求解,得到对应的测试输入集ISMTSolved和IAISolved,将两者与初始测试输入集IOriginal合并,作为功能测试的测试输入集,记为I,则有: I=IOriginal∪ISMTSolved∪IAISolved 步骤1-1-5.若待测程序存在基准实现或预定义输出,则将其作为对应的预期输出,若其不存在基准实现或预定义输出,则使用大语言模型生成预期输出,将功能测试的测试输入集I中的测试输入{in1,in2,…}及与其对应的预期输出组织成测试用例对,组合成测试用例集T,如下: T={in1,exp_out1,in2,exp_out2,…} 步骤1-1-6.通过测试用例集T对自动化生成的待测程序进行功能测试,校验测试覆盖率是否达到预期,同时检验待测程序能否正确通过所有测试用例,以此检验人工智能制导自动化生成的程序的正确性; 步骤1-2.针对步骤1-1的测试框架,结合利用人工智能技术对符号执行所收集的程序路径约束进行增强求解,生成多个互补的边界测试用例; 步骤1-3.在基于步骤1-1实施测试时,当缺少基准实现与预定义输出,由大语言模型来预测测试标准输出,从而实现自动化功能测试,得到准确结果; 具体步骤如下: 步骤1-3-1.在待测程序存在基准实现或预定义输出的情况下,将测试输入集输入基准实现的程序中,将其对应的输出作为功能测试中对应的预期输出; 步骤1-3-2.在待测程序缺乏基准实现且测试输入没有预定义输出的情况下,使用大语言模型生成预期输出,将自然语言描述desc以及相应的测试输入ini∈I输入给大语言模型,以此让大语言模型确定预期输出,通过多次迭代,选择最频繁出现的值作为预期输出,如下: LLMComputedesc,ini=outi1,outi2,… exp_outi=max_freqouti1,outi2,… 其中,LLMCompute为大语言模型计算预期输出方法,max_freq为选择最频繁出现的值方法,exp_outi为测试输入ini对应的预期输出; 步骤1-3-3.将步骤1-1-4得到的测试输入集I中的测试输入{in1,in2,…}及与其对应的预期输出组织成测试用例对,组合成测试用例集T,如下: T={in1,exp_out1,in2,exp_out2,…} 通过该测试用例集T即可对待测程序进行功能测试并获得准确的测试结果。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人南京大学,其通讯地址为:210000 江苏省南京市栖霞区仙林大道163号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
以上内容由龙图腾AI智能生成。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

皖公网安备 34010402703815号
请提出您的宝贵建议,有机会获取IP积分或其他奖励