基于执行的自然语言到 Bash 和 PowerShell 评估——用于事件响应
软件工程
2024-05-14 v1
摘要
近期大型语言模型 (LLM) 的发展使其代码生成任务在不同领域获得广泛关注。为评估和选择最佳模型以自动修复由应用性能监控 (APM) 平台发现的系统事件,关键是验证生成的代码是否具有正确的语法和语义,以及是否能按预期执行。然而,当前评估 LLM 生成代码质量的方法主要依赖表面形式相似性指标(如 BLEU、ROUGE 和精确/部分匹配),这些指标存在诸多局限。相比之下,基于执行的评估更关注代码功能,不受限于任何固定解决方案。然而,设计和实现此类基于执行的评估平台并非易事。已有工作为流行编程语言(如 SQL、Python、Java)创建了基于执行的评估平台,但针对脚本语言如 Bash 和 PowerShell 的尝试有限或尚未有。本文提出了首个基于执行的评估平台,我们创建了三个测试套件(总计 125 个手工编写的测试案例)来评估 Bash(包括单行命令和多行脚本)和 PowerShell 代码由 LLM 生成。我们使用平台对七个封闭式和开源 LLM 进行基准测试,采用不同技术(零样本 vs. 少样本学习)。
引用
@article{arxiv.2405.06806,
title = {An Empirical Study on the Effectiveness of Large Language Models for SATD Identification and Classification},
author = {Mohammad Sadegh Sheikhaei and Yuan Tian and Shaowei Wang and Bowen Xu},
journal= {arXiv preprint arXiv:2405.06806},
year = {2024}
}
备注
This is the preprint version of a paper that has been submitted to Empirical Software Engineering