买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:重庆大学
摘要:本发明公开了一种基于代码规范化的代码生成优化方法,从而完成对大型语言模型生成的原代码的准确率提升。包括如下步骤:将用户对问题的文字描述输入现有工具生成原代码C0;根据先验知识对Python标准库中的模块以及其中的函数构建简单数据库D;规范化C0中的缩进得到C1;滤除C1中可能出现的“__main__块”和print、input、assert语句得到C2;对C2进行测试,获取测试结果T1,当测试不通过时,修复SyntaxError得到C3;对C3进行测试,获取测试结果T2,当测试不通过时,修复NameError得到C4;对C4进行测试,获取测试结果T3,当测试不通过时,通过逐步删除代码末端的函数尽可能地修复其余错误得到C5;最终向开发者输出代码C5或先前通过测试的代码作为原代码C0经过全部代码规范化流程后的最终优化结果。
主权项:1.一种基于代码规范化的代码生成优化方法,其特征在于:包括如下步骤:S101:将用户对问题的文字描述输入现有模型生成原代码C0;S102:根据先验知识对Python标准库中的模块以及其中的函数构建简单数据库D,在数据库D中构建出两个数据结构l和d,其中l存储从Python标准库中提取出的模块名,d存储从Python标准库提取出的函数名及其所属的模块名;S103:规范化C0中的缩进,将不同数量的空格形式的缩进替换为统一的制表符形式缩进,得到处理后的代码C1;S104:滤除C1中可能出现的“__main__块”和print、input、assert语句,得到处理后的代码C2;S105:对代码C2进行初步测试,获取初步测试的结果T1,该结果包含两部分:1测试结果R,R为通过未通过;2如果未通过,给出引起错误的类型ET以及对应错误信息EM;S106:如果T1中的R为测试通过,直接向开发者输出C2;否则基于T1中的ET,修复发生的SyntaxError,得到处理后的代码C3,对C3再次执行测试,获取测试结果T2,T2与T1的结构相同;修复SyntaxError的过程包含如下具体步骤:获取到C2中的最后一个函数,随后将该函数从C2中移除;S107:如果T2中的R为测试通过,直接向开发者输出C3;否则基于T2中的ET与先前建立的简单数据库D,修复发生的NameError,得到处理后的代码C4,对C4再次执行测试,获取测试结果T3,T3与T1的结构相同;修复NameError的过程包含如下具体步骤:基于T2中的EM,获取引发EM的函数模块名称N,若N不在简单数据库D之中,那么不对C3做任何改动,否则添加该函数模块的import语句,实现对C3的更新;随后对更新后的C3进行测试,获取测试结果,实现对T2的更新,T2与T1的结构相同;循环上述步骤,直至代码通过测试或N不在简单数据库D之中时退出循环;S108:如果T3中的R为测试通过,直接向开发者输出C4;否则逐步删除代码末端的函数,直至代码中仅含一个函数或代码通过测试,此时得到处理后的代码C5;S109:向开发者输出代码C5作为原代码C0经过全部代码规范化流程后的最终优化结果。
全文数据:
权利要求:
百度查询: 重庆大学 一种基于代码规范化的代码生成优化方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。