Leveraging LLMs to support co-evolution between definitions and instances of textual DSLs

📄 arXiv: 2512.06836v1 📥 PDF

作者: Weixing Zhang, Regina Hebig, Daniel Strüber

分类: cs.SE, cs.AI, cs.PL

发布日期: 2025-12-07


💡 一句话要点

利用大型语言模型支持文本DSL定义与实例的协同演化

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 领域特定语言 协同演化 模型驱动工程 文本处理

📋 核心要点

  1. 现有模型驱动工程技术在处理文本DSL协同演化时,容易丢失注释和布局等重要辅助信息。
  2. 论文提出利用大型语言模型直接处理文本实例,旨在保留辅助信息的同时实现语法和实例的协同演化。
  3. 实验结果表明,LLM在小规模案例中表现良好,但在处理大规模实例时面临扩展性挑战。

📝 摘要(中文)

软件语言会随着时间的推移而演变,例如添加新功能。当语言的语法定义发生变化时,最初符合语法的文本实例会变得过时。在模型驱动工程的DSL中,存在大量技术可以将模型与不断演变的元模型进行协同演化。然而,这些技术并不适用于具有文本语法的DSL——将它们应用于文本语言定义和实例可能会导致原始实例的信息丢失,例如注释和布局信息,这些信息对于软件理解和维护至关重要。本研究探讨了基于大型语言模型(LLM)的解决方案在实现语法和实例协同演化方面的潜力,并关注它们在直接处理文本实例时保留辅助信息的能力。通过应用两个先进的语言模型Claude-3.5和GPT-4o,并在七种案例语言中进行实验,我们评估了这种方法的可行性和局限性。我们的结果表明,所考虑的LLM在小规模案例中迁移文本实例方面具有良好的能力,这些案例代表了实践中遇到的一部分案例。此外,我们观察到基于LLM的解决方案在扩展到更大实例时面临重大挑战,从而为未来的研究提供了有用的见解。

🔬 方法详解

问题定义:论文旨在解决文本领域特定语言(DSL)在语法定义演化后,如何同步更新DSL实例的问题。现有方法在处理文本DSL时,容易丢失注释、布局等辅助信息,影响软件理解和维护。

核心思路:论文的核心思路是利用大型语言模型(LLM)的文本理解和生成能力,直接对DSL实例进行转换,从而在更新实例的同时尽可能保留原始的辅助信息。这种方法避免了传统方法中可能导致信息丢失的中间转换步骤。

技术框架:论文采用实验研究方法,没有明确的技术框架。主要流程包括:1) 选择七种案例语言;2) 使用Claude-3.5和GPT-4o两种LLM;3) 设计实验,评估LLM在语法和实例协同演化方面的能力;4) 分析实验结果,总结LLM方法的优缺点。

关键创新:论文的关键创新在于探索了LLM在文本DSL协同演化中的应用潜力,并验证了其在保留辅助信息方面的优势。与传统方法相比,LLM能够直接处理文本实例,避免了中间转换带来的信息损失。

关键设计:论文主要关注LLM的应用,没有涉及具体的参数设置、损失函数或网络结构设计。实验设计侧重于评估LLM在不同规模和复杂度的DSL实例上的表现,并分析其在保留辅助信息方面的能力。实验中使用了Claude-3.5和GPT-4o两种先进的语言模型,并针对七种不同的DSL进行了测试。

📊 实验亮点

实验结果表明,Claude-3.5和GPT-4o在小规模DSL实例的迁移方面表现出良好的能力,能够有效地更新实例并保留大部分辅助信息。然而,当实例规模增大时,LLM面临扩展性挑战,性能显著下降。这表明LLM在处理大规模文本DSL协同演化方面仍有改进空间。

🎯 应用场景

该研究成果可应用于软件开发和维护领域,特别是在模型驱动工程中,可以帮助开发者更高效地维护和演化文本DSL。通过利用LLM,可以自动迁移DSL实例,减少手动修改的工作量,并尽可能保留原始代码的辅助信息,提高软件的可理解性和可维护性。未来,该方法有望应用于更广泛的文本处理任务,例如代码重构、代码翻译等。

📄 摘要(原文)

Software languages evolve over time for various reasons, such as the addition of new features. When the language's grammar definition evolves, textual instances that originally conformed to the grammar become outdated. For DSLs in a model-driven engineering context, there exists a plethora of techniques to co-evolve models with the evolving metamodel. However, these techniques are not geared to support DSLs with a textual syntax -- applying them to textual language definitions and instances may lead to the loss of information from the original instances, such as comments and layout information, which are valuable for software comprehension and maintenance. This study explores the potential of Large Language Model (LLM)-based solutions in achieving grammar and instance co-evolution, with attention to their ability to preserve auxiliary information when directly processing textual instances. By applying two advanced language models, Claude-3.5 and GPT-4o, and conducting experiments across seven case languages, we evaluated the feasibility and limitations of this approach. Our results indicate a good ability of the considered LLMs for migrating textual instances in small-scale cases with limited instance size, which are representative of a subset of cases encountered in practice. In addition, we observe significant challenges with the scalability of LLM-based solutions to larger instances, leading to insights that are useful for informing future research.