申请/专利权人:哈尔滨工业大学
申请日:2021-09-28
公开(公告)日:2024-04-02
公开(公告)号:CN113849162B
主分类号:G06F8/30
分类号:G06F8/30;G06F8/35;G06F8/41
优先权:
专利状态码:有效-授权
法律状态:2024.04.02#授权;2022.01.14#实质审查的生效;2021.12.28#公开
摘要:一种利用模型驱动和深度神经网络相结合的代码生成方法,涉及一种代码生成方法。所述方法包括如下步骤:使用活动图对目标需求建模后,自动生成逻辑结构代码;利用训练好的深度神经网络模型完成自然语言需求描述到具体功能代码的生成。本发明依靠两种代码生成各自的优点,弥补对方的不足,即利用模型驱动解决基于自然语言的代码生成中的长距离依赖和代码粒度较小的问题;又基于自然语言的生成解决模型驱动代码生成中代码细节信息不丰富的问题,对功能复杂的代码既可以保证逻辑的正确性以及长结构的正确性,又可以一定程度保证代码细节的正确性。
主权项:1.一种利用模型驱动和深度神经网络相结合的代码生成方法,所述方法是通过可视化建模工具、深度神经网络模型以及代码验证器完成的,其特征在于:所述方法包括如下步骤:S1:使用活动图对目标需求建模后,自动生成逻辑结构代码;S101:利用数据集的样本训练深度神经网络模型;S102:绘制程序的活动图;S103:在所需的代码行输入自然语言的需求描述N_input,提交到训练好的深度神经网络模型;S2:利用训练好的深度神经网络模型完成自然语言需求描述到具体功能代码的生成;S201:利用深度神经网络模型预测生成代码,将预测代码填入需求位置,进而形成最终完整的代码需求;S20101:对S103提交的自然语言描述N_input相似的自然语言片段N_L以及N_S;N_L句法级token序列上获取的编辑距离相似度Lexicalsimilarity最大值自然语言片段,N_S是根据语义向量选择的余弦相似度Semanticsimilarity最大值自然语言片段: 利用N_L、N_S作为对N_input的增强数据,共同送入深度神经网络模型预测action序列;S20102:将action序列映射回抽象语法树,利用解析工具将抽象语法树还原成代码,并将其加入到原来的自然语言描述位置;S202:将完整代码送入代码验证器;S20201:将最终生成的代码进行词法分析,测试生成代码的词法正确性;S20202:静态检查生成的代码,以检查其语法是否符合可执行标准;S20203:利用测试用例通过率验证功能正确性,将最终生成的代码,根据预先确定的测试用例,计算测试用例通过率Pt:
全文数据:
权利要求:
百度查询: 哈尔滨工业大学 一种利用模型驱动和深度神经网络相结合的代码生成方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。