A Hybrid Approach for EMF Code Generation:Code Templates Meet Large Language Models

发布时间:2026/8/30 7:17:55
A Hybrid Approach for EMF Code Generation:Code Templates Meet Large Language Models 文章主要内容与创新点总结一、主要内容本文针对模板驱动代码生成(TBCG)灵活性不足和大语言模型(LLM)代码生成易出错、存在幻觉的问题,提出了一种混合式代码生成方法iEcoreGen。该方法基于Eclipse建模框架(EMF),融合模板驱动和LLM驱动的优势,实现更高效的自动化软件开发。核心流程包括四步:需求分解:将自然语言需求拆解为方法级规格说明,转化为Ecore模型的注解,明确功能摘要、算法、输入输出及前置/后置条件;EMF代码生成:利用EMF的模板生成器将带注解的Ecore模型转化为初始Java代码,包含类结构、属性、 getter/setter等固定部分,方法体留空并嵌入规格说明作为文档字符串;代码补全:采用类级整体生成策略,通过代码压缩、上下文提取(关联类信息)引导LLM补全方法体,确保与EMF代码风格和API兼容;代码修复:使用Eclipse JDT编译器检测编译错误,迭代调用LLM修正错误直至编译通过。实验评估基于20个多领域代码生成任务,对比5个主流开源LLM(Deepseek、Qwen3等)与纯LLM基线方法,结果显示iEcoreGen在功能正确性指标(pass@k)上显著优于基线,编译正确性(compilation@k)与基线相当;消融实验验证了需求分解、代码压缩、上下文提取和代码修复四大组件的必要性;错误分析指出需求遗漏和操作误用是主要失效模式。