论文

LLM 介导的软件演化的基于规范的代码-文本-代码重新设计

Specification-Based Code-Text-Code Reengineering for LLM-Mediated Software Evolution

摘要

直接 Code2Code 转换仍然难以控制,因为它可以保留表面级语法,同时引入语义漂移、隐藏的行为变化、可追溯性丢失、非惯用的目标实现或领域逻辑的不完整重建。本文提出了一种基于规范的 Code2Text2Code 重构框架,用于 LLM 介导的软件演化。中心思想是将源代码转换为中性文本规范,捕获程序行为、标识符、计算流程、条件、副作用、数据依赖性和特定领域的意图,而无需直接传输源语言语法。所提出的框架结合了事实上下文提取、Code2Text 生成、源代码和文本规范之间的迭代验证、Text2Code 生成、目标代码验证、检索增强基础、语义感知分块以及转换损失估计。知识表示层集成了源自 AST 的元数据、基于图的依赖结构、中性自然语言规范、技术文档、业务文档和架构级表示。进行的实验包括从多种编程语言和 SQL 方言构建的 Code2Text2Code 数据集、中间表示的比较、检索评估、文档转换评估以及使用 DSPy 的提示调整。实现使用结构保存、反向兼容性、界面稳定性和总图相似性的图形式化来估计变换损失。结果支持将 Code2Text2Code 方法解释为不是简单的代码转换,而是 LLM 介导的软件演化的受控的基于规范的重新设计过程。