Can LLMs Replace Manual Annotation of Software Engineering Artifacts?
作者: Toufique Ahmed, Premkumar Devanbu, Christoph Treude, Michael Pradel
分类: cs.SE, cs.HC, cs.LG
发布日期: 2024-08-10 (更新: 2025-02-04)
💡 一句话要点
探索LLM在软件工程工件标注中的应用,以替代昂贵的人工标注。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 软件工程 人工标注 自动化评估 代码理解
📋 核心要点
- 软件工程评估中人工标注成本高昂且耗时,寻找合适的专业程序员参与研究是一大挑战。
- 该研究探索使用大型语言模型(LLM)替代部分人工标注,以降低成本并提高效率。
- 实验结果表明,LLM在某些标注任务上可以达到与人工标注相近的一致性,为混合人-LLM评估奠定基础。
📝 摘要(中文)
软件工程创新(如工具和流程)的实验评估通常包含人机研究,以提高研究结果的泛化性。然而,由于寻找和聘用合适的受试者(理想情况下是具有不同经验的专业程序员)的成本和难度,人机研究面临挑战。最近,大型语言模型(LLM)在多个领域展现出媲美人类的表现。本文探讨了在代码和代码相关工件的评估中,用更廉价的LLM查询替代昂贵的人工受试者的可能性。我们使用六个最先进的LLM,对来自先前工作的五个数据集中的十个标注任务进行了研究,例如判断方法自然语言摘要的准确性,或确定代码更改是否修复了静态分析警告。结果表明,用LLM替代部分人工标注工作可以产生与人工标注者相同或接近的评分者间一致性。为了帮助确定何时以及如何使用LLM进行人机研究,我们提出了模型间一致性作为预测给定任务是否适合LLM的指标,并提出了模型置信度作为选择LLM可以安全替代人工标注者的特定样本的方法。总的来说,我们的工作是迈向软件工程中混合人-LLM评估的第一步。
🔬 方法详解
问题定义:论文旨在解决软件工程领域中,人工标注软件工件(如代码摘要、缺陷修复等)成本高昂、耗时的问题。现有方法依赖于人工标注,难以规模化,且标注质量受标注者经验和主观性的影响。
核心思路:核心思路是利用大型语言模型(LLM)强大的自然语言理解和代码理解能力,自动完成部分标注任务,从而降低对人工标注的依赖。通过对比LLM和人工标注的结果,评估LLM在不同标注任务上的表现,并探索如何安全有效地使用LLM替代人工标注。
技术框架:该研究的技术框架主要包括以下几个步骤:1) 选择合适的标注任务和数据集;2) 选择多个先进的LLM模型;3) 使用LLM对数据集进行标注;4) 计算LLM标注结果与人工标注结果之间的评分者间一致性;5) 分析模型间一致性和模型置信度与标注质量之间的关系,并提出指导LLM使用的建议。
关键创新:该研究的关键创新在于:1) 首次系统性地评估了LLM在软件工程工件标注中的潜力;2) 提出了模型间一致性作为预测LLM适用性的指标;3) 提出了模型置信度作为选择LLM可以安全替代人工标注的样本的方法。
关键设计:研究中使用了六个最先进的LLM模型,具体模型名称未知。标注任务涵盖了代码摘要准确性判断、缺陷修复验证等多个方面。评分者间一致性采用kappa系数等指标进行衡量。模型间一致性通过计算不同LLM模型标注结果之间的相似度来评估。模型置信度由LLM自身输出的概率或置信度得分来衡量,具体计算方法未知。
🖼️ 关键图片
📊 实验亮点
实验结果表明,在某些标注任务上,LLM可以达到与人工标注相近的评分者间一致性。研究还发现,模型间一致性可以作为预测LLM适用性的指标,模型置信度可以用于选择LLM可以安全替代人工标注的样本。具体性能提升数据未知。
🎯 应用场景
该研究成果可应用于软件工程领域的自动化测试、代码审查、缺陷预测等多个方面。通过利用LLM进行自动标注,可以降低开发成本,提高开发效率,并促进软件质量的提升。未来,混合人-LLM评估有望成为软件工程研究的新范式。
📄 摘要(原文)
Experimental evaluations of software engineering innovations, e.g., tools and processes, often include human-subject studies as a component of a multi-pronged strategy to obtain greater generalizability of the findings. However, human-subject studies in our field are challenging, due to the cost and difficulty of finding and employing suitable subjects, ideally, professional programmers with varying degrees of experience. Meanwhile, large language models (LLMs) have recently started to demonstrate human-level performance in several areas. This paper explores the possibility of substituting costly human subjects with much cheaper LLM queries in evaluations of code and code-related artifacts. We study this idea by applying six state-of-the-art LLMs to ten annotation tasks from five datasets created by prior work, such as judging the accuracy of a natural language summary of a method or deciding whether a code change fixes a static analysis warning. Our results show that replacing some human annotation effort with LLMs can produce inter-rater agreements equal or close to human-rater agreement. To help decide when and how to use LLMs in human-subject studies, we propose model-model agreement as a predictor of whether a given task is suitable for LLMs at all, and model confidence as a means to select specific samples where LLMs can safely replace human annotators. Overall, our work is the first step toward mixed human-LLM evaluations in software engineering.