中文

基于 AI 链式方案解决局部代码中的 FQN 与语法错误

软件工程 2023-06-22 v1

摘要

API 文档、技术博客与编程问答站点包含大量可复用于编程任务的局部代码,但这些代码常因未解析名称与语法错误而无法编译。为促进局部代码复用,我们提出局部代码复用链(PCR-Chain),用于基于 ChatGPT 等巨型大语言模型(LLM)解析完全限定名(FQN)并修复局部代码中的最后一公里语法错误。在方法上,PCR-Chain 由底层的全局级提示架构(结合分层任务分解、提示组合以及基于提示的 AI 与非 AI 单元混合三种设计思想)与局部级提示设计支撑。技术上,我们提出 PCR-Chain,其采用上下文学习而非符号化、高成本的训练方法。实验结果表明,在动态类型语言(Python)中,PCR-Chain 比当前最优(SOTA)方法(如 RING)准确率高出 5%。对于静态类型语言(Java),我们的方法在同时解析非 FQN 与最后一公里语法错误上达到 80.5% 的高准确率,超越了只能处理最后一公里语法错误的 SOTA 方法(RING)。单元、模块与 PCR-Chain 的正确执行证明了提示设计、组合与架构的有效性,并为构建基于 LLM 替代传统程序分析方法的软件工程工具开辟了可能。

关键词

引用

@article{arxiv.2306.11981,
  title  = {A Chain of AI-based Solutions for Resolving FQNs and Fixing Syntax Errors in Partial Code},
  author = {Qing Huang and Jiahui Zhu and Zhenchang Xing and Huan Jin and Changjing Wang and Xiwei Xu},
  journal= {arXiv preprint arXiv:2306.11981},
  year   = {2023}
}