中文

大语言模型时代声明式软件规范的自动修复

软件工程 2023-11-08 v2 人工智能 机器学习

摘要

声明式软件规范语言的日益普及,加上其固有的调试难度,凸显了对适用于此类语言的有效自动修复技术的需求。研究人员近期探索了多种自动修复声明式软件规范的方法,例如基于模板的修复、反馈驱动的迭代修复和有界穷举方法。大语言模型的最新发展为声明式规范的自动修复提供了新的机遇。在本研究中,我们评估了利用 OpenAI 的 ChatGPT 修复用 Alloy 声明式语言编写的软件规范的有效性。与命令式语言不同,Alloy 中的规范并非执行,而是转化为逻辑公式,并使用后端约束求解器进行评估,以识别规范实例和断言的反例。我们的评估聚焦于 ChatGPT 通过自动修复来提高 Alloy 声明式规范正确性和完备性的能力。我们分析了 ChatGPT 产生的结果,并将其与领先的自动 Alloy 修复方法进行了比较。我们的研究揭示,虽然 ChatGPT 与现有技术相比存在不足,但它能够成功修复其他技术无法处理的错误。我们的分析还指出了 ChatGPT 生成的修复中的错误,包括运算符使用不当、类型错误、高阶逻辑误用和关系元数不匹配。此外,我们观察到 ChatGPT 生成的修复中存在幻觉现象及其结果的不一致性。我们的研究为考虑使用 ChatGPT 进行声明式规范修复的软件从业者、研究人员和工具构建者提供了宝贵的见解。

关键词

引用

@article{arxiv.2310.12425,
  title  = {Automated Repair of Declarative Software Specifications in the Era of Large Language Models},
  author = {Md Rashedul Hasan and Jiawei Li and Iftekhar Ahmed and Hamid Bagheri},
  journal= {arXiv preprint arXiv:2310.12425},
  year   = {2023}
}

备注

13 Pages with reference, 4 Tables, 2 Figures, 2 Listings