论文
LLM4MTLs:自动生成并评估模型转换语言代码
LLM4MTLs: Automated Generation and Empirical Evaluation of Model Transformation Languages
摘要
模型转换语言(MTL)是特定领域的语言,用于将符合给定元模型的模型转换为其他模型,包括源代码等文本模型。开发正确的模型转换具有挑战性,需要特定于语言和领域的知识,并激励使用 大语言模型 (LLM) 进行 MTL 代码生成。然而,由于有限的训练数据和可执行示例,LLM 生成的 MTL 代码通常无法直接获得语法有效、语义可用的结果。本文介绍了 LLM4MTL,这是一种自动化工作流程,用于构建和比较 LLM 生成的 MTL 代码的提示策略,以及评估套件和实证评估。该工作流程系统地探索了结合少样本提示、语法提示和辅助方法包含的提示结构,并使用句法和语义指标对其进行评估。我们构建了一个涵盖四个 MTL(ATL、ETL、QVTo 和反应语言)的评估套件,其中包含可执行参考脚本和手动编写的测试套件,并跨三个 LLM 进行评估。我们发现,小样本提示持续提高了所有四种 MTL 的句法质量,而语义正确性的提升则参差不齐且取决于语言。对于 ATL,Pass@1 在所有策略和模型中保持不变,这表明少样本提示比深度转换语义更容易改进表面级语法。当与少量示例结合使用时,语法提示可以稳定代码生成,但单独来看,对于某些模型语言组合来说,它可能无效,甚至适得其反。包含辅助方法作为补充放大器也可能是有益的。最后,LLM 选择会影响某些 MTL(特别是 ETL 和 QVTo)的句法正确性和相似性,而其对语义正确性的影响仍然有限。