有效
代码生成方法、装置、计算机设备、存储介质和产品
徐宁、苏兆瑞、王文锁、杨兆良、张超、李翔宇、祁磊、张兆阳、杨军、刘乘杰
南京集成电路设计自动化技术创新中心

徐宁 专利 29
东南大学电子数据处理计算技术物理仪器
苏
苏兆瑞 专利 2
南京集成电路设计自动化技术创新中心电子数据处理计算技术物理仪器
王
王文锁 专利 3
南京集成电路设计自动化技术创新中心电子数据处理计算技术物理仪器
杨
杨兆良 专利 4
南京集成电路设计自动化技术创新中心计算技术物理仪器电子数据处理
张
张超 专利 67
东南大学物理仪器计算技术商务信息处理
李
李翔宇 专利 2
东南大学电子数据处理计算技术物理仪器
祁
祁磊 专利 18
东南大学计算技术物理仪器电子数据处理
张
张兆阳 专利 15
南京集成电路设计自动化技术创新中心电子数据处理计算技术物理仪器
杨
杨军 专利 210
东南大学电子数据处理物理仪器计算技术
刘
刘乘杰
机构 暂无技术领域 暂无
摘要
本申请涉及一种代码生成方法、装置、计算机设备、存储介质和产品。所述方法包括:基于待开发代码的开发需求,从函数数据库中筛选与开发需求相匹配的初始函数集合;函数数据库包括多种开发需求与函数之间的对应关系;根据信息数据库,从初始函数集合中筛选出调用逻辑符合开发需求的目标函数集合;信息数据库包括多个函数与调用逻辑之间的对应关系;根据参数数据库对目标函数集合的参数进行信息提取,获得目标参数集合;参数数据库包括多个函数与参数集合之间的对应关系;基于目标函数集合和目标参数集合,生成待开发代码。采用本方法筛选符合开发需求的目标函数集合和参数函数集合,再按照开发需求整合,生成贴合开发需求的代码,提高代码的质量。
1.一种代码生成方法,其特征在于,所述方法包括:通过场景匹配模型确定待开发代码的开发需求,通过预筛选模型从函数数据库中筛选与所述开发需求相匹配的初始函数集合;所述函数数据库包括多种开发需求与函数之间的对应关系;根据信息数据库,通过后筛选模型从所述初始函数集合中筛选出调用逻辑符合所述开发需求的目标函数集合;所述信息数据库包括多个函数与调用逻辑之间的对应关系;通过参数选择模型根据参数数据库对所述目标函数集合的参数进行信息提取,获得目标参数集合;所述参数数据库包括多个函数与参数集合之间的对应关系;以及基于目标参数集合的参数中包含的关联性信息对目标函数集合中各函数进行关联分析,获得关联分析结果;基于所述关联分析结果、所述目标函数集合和所述目标参数集合,通过次功能模型、解决方案生成模型和代码生成模型生成所述待开发代码;其中,在所述关联分析结果为目标函数集合中存在独立函数的情况下,独立函数输入次功能模型,以生成独立函数对应的代码,以及将非独立函数及非独立函数对应的参数输入至解决方案生成模型中,以得到生成代码的解决方案,并且在该解决方案中给独立函数对应的代码预留位置。
2.根据权利要求1所述的方法,其特征在于,所述通过场景匹配模型确定待开发代码的开发需求包括:调用所述场景匹配模型;所述场景匹配模型预先被配置有场景匹配模板库;将用户需求描述输入至所述场景匹配模型中,通过所述场景匹配模型对所述用户需求描述进行意图识别,得到所述开发需求。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述通过预筛选模型从函数数据库中筛选与所述开发需求相匹配的初始函数集合,包括:调用所述预筛选模型;所述预筛选模型预先被配置有所述函数数据库;将所述开发需求输入至所述预筛选模型中,通过所述预筛选模型从所述函数数据库中筛选与所述开发需求相关相匹配的初始函数集合。
4.根据权利要求3所述的方法,其特征在于,所述函数数据库包括分流数据库和功能数据库,所述分流数据库包括场景类型与函数之间的对应关系,所述功能数据库包括功能与所述函数之间的对应关系;所述从所述函数数据库中筛选与所述开发需求相关相匹配的初始函数集合,包括:基于所述开发需求确定目标搜索标识;所述目标搜索标识包括目标场景类型和目标功能;根据所述目标场景类型从所述分流数据库中筛选出第一初始函数集合;根据所述目标功能,从所述功能数据库中筛选出第二初始函数集合;基于所述第一初始函数集合和所述第二初始函数集合构建所述初始函数集合。
5.根据权利要求1-2任一项所述的方法,其特征在于,所述根据信息数据库,通过后筛选模型从所述初始函数集合中筛选出调用逻辑符合所述开发需求的目标函数集合,包括:调用所述后筛选模型;所述后筛选模型预先被配置有所述信息数据库;将所述初始函数集合输入至所述后筛选模型中,通过所述后筛选模型从所述初始函数集合中筛选出调用逻辑符合所述开发需求的目标函数集合。
6.根据权利要求5所述的方法,其特征在于,从所述初始函数集合中筛选出调用逻辑符合所述开发需求的目标函数集合,包括:针对所述初始函数集合中各函数,通过所述后筛选模型从所述信息数据库中提取所述函数对应的调用逻辑;将所述调用逻辑与所述开发需求进行匹配分析,获得匹配分析结果;在所述匹配分析结果为所述调用逻辑符合所述开发需求的情况下,确定所述函数为目标函数;其中,所述目标函数集合包括多个所述调用逻辑符合所述开发需求的目标函数。
7.根据权利要求1-2任一项所述的方法,其特征在于,所述通过参数选择模型根据参数数据库对所述目标函数集合的参数进行信息提取,获取目标参数集合,包括:调用所述参数选择模型;所述参数选择模型预先被配置有所述参数数据库;将所述目标函数集合输入至所述参数选择模型中,通过所述参数选择模型从所述参数数据库中提取所述目标函数集合中各所述函数对应的参数集合;其中,所述目标参数集合包括各所述函数对应的参数集合。
8.根据权利要求1-2任一项所述的方法,其特征在于,所述基于所述关联分析结果、所述目标函数集合和所述目标参数集合,通过次功能模型、解决方案生成模型和代码生成模型生成所述待开发代码,包括:调用所述解决方案生成模型和所述代码生成模型;将所述目标函数集合和所述目标参数集合输入至所述解决方案生成模型中,通过所述解决方案生成模型整合所述目标函数集合和所述目标参数集合生成代码解决方案;将所述代码解决方案输入所述代码生成模型中,通过所述代码生成模型转化所述代码解决方案得到所述待开发代码。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:在使用模板的情况下,调用解决方案生成模型和代码生成模型;将所述模板、所述目标函数集合和所述目标参数集合输入至所述解决方案生成模型中,通过所述解决方案生成模型将所述目标函数集合和所述目标参数集合填充至所述模板中,获得代码解决方案;将所述代码解决方案输入所述代码生成模型中,通过所述代码生成模型转化所述代码解决方案得到所述待开发代码。
10.根据权利要求9所述的方法,其特征在于,所述通过所述解决方案生成模型将所述目标函数集合和所述目标参数集合填充至所述模板中,获得代码解决方案,包括:针对各第一函数,对所述第一函数对应的参数集合与第二函数的关联性进行分析,获得关联分析结果;所述第一函数为所述目标函数集合中的任一个函数,所述第二函数包括所述目标函数集合中除所述第一函数之外的函数;在所述关联分析结果为所述第一函数对应的所述参数集合与所述第二函数存在关联的情况下,对所述模板进行分析,获得模板分析结果;根据所述模板分析结果和所述目标函数集合,对所述模板进行填充,获得所述代码解决方案;在所述关联分析结果为所述第一函数对应的所述参数集合与所述第二函数不存在关联的情况下,根据所述第一函数对所述模板进行处理,获得中间模板;所述中间模板包括在目标位置预留特定信息的模板;其中,特定信息为由第二函数生成的代码所填充的位置;对所述模板进行分析,获得模板分析结果;根据所述第二函数和所述模板分析结果,对所述中间模板进行填充,获得所述代码解决方案。
11.根据权利要求8所述的方法,其特征在于,在所述调用解决方案生成模型和代码生成模型之前,所述方法还包括:在所述关联分析结果为所述目标函数集合中不存在独立函数,执行所述调用解决方案生成模型和代码生成模型,以得到所述待开发代码;在所述关联分析结果为所述目标函数集合中存在所述独立函数,调用次功能模型;将所述独立函数输入至所述次功能模型中,通过所述次功能模型将所述独立函数转化为第一代码;基于第一函数集合和第一参数集合,生成第二代码;所述第一函数集合包括所述目标函数集合中除所述独立函数之外的所有函数,第一参数集合包括所述第一函数集合中各函数对应的参数集合;对所述第一代码和所述第二代码进行组合,获得所述待开发代码。
12.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:对所述待开发代码进行评估分析,获得代码评估结果;在所述代码评估结果为所述待开发代码满足预设条件的情况下,确定所述待开发代码为目标待开发代码;满足所述预设条件包括所述待开发代码的语法正确且功能符合所述开发需求;在所述代码评估结果为所述待开发代码不满足所述预设条件的情况下,基于所述代码评估结果确定更新需求,并根据所述更新需求对所述待开发代码进行更新得到所述目标待开发代码。
13.一种代码生成装置,其特征在于,所述装置包括:函数筛选模块,用于通过场景匹配模型确定待开发代码的开发需求,通过预筛选模型从函数数据库中筛选与所述开发需求相匹配的初始函数集合;所述函数数据库包括多种开发需求与函数之间的对应关系;函数筛选模块,还用于根据信息数据库,通过后筛选模型从所述初始函数集合中筛选出调用逻辑符合所述开发需求的目标函数集合;所述信息数据库包括多个函数与调用逻辑之间的对应关系;参数提取模块,用于通过参数选择模型根据参数数据库对所述目标函数集合的参数进行信息提取,获得目标参数集合;所述参数数据库包括多个函数与参数集合之间的对应关系;还用于基于目标参数集合的参数中包含的关联性信息对目标函数集合中各函数进行关联分析,获得关联分析结果;代码生成模块,用于基于所述关联分析结果、所述目标函数集合和所述目标参数集合,通过次功能模型、解决方案生成模型和代码生成模型生成所述待开发代码;还用于在所述关联分析结果为目标函数集合中存在独立函数的情况下,独立函数输入次功能模型,以生成独立函数对应的代码,以及将非独立函数及非独立函数对应的参数输入至解决方案生成模型中,以得到生成代码的解决方案,并且在该解决方案中给独立函数对应的代码预留位置。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。



