计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29
在这一期中,我们对大语言模型在软件开发中的跨学科应用的几个工作做简要的介绍。相关内容涵盖软件测试时的问题报告,问题分类,测试生成,和软件测试中的AI应用:
- 大型语言模型在软件项目管理中问题报告分类的应用:文章研究了标签一致性和训练数据大小对自动问题分类的影响,并比较了少量样本学习和微调在更大众包数据集上的性能。
- 大型语言模型在软件工程中问题报告分类和用户验收测试生成的应用:本文提出了利用LLMs自动化两个关键软件工程任务:问题报告分类和测试场景生成,旨在提高开发效率。
- 软件测试中的人工智能:这篇综述文章探讨了AI技术在软件测试中的应用,包括机器学习、遗传算法和神经网络,并讨论了挑战和未来研究方向。
1. AI-Powered Software Testing: The Impact of Large Language Models on Testing Methodologies
Publisher: IEEE
Vahit Bayrı; Ece Demirel
摘要:
这篇文章探讨了大语言模型(LLMs)在软件测试中的应用及其对测试方法的影响。文章指出,随着AI技术的发展,LLMs已经成为软件测试领域的一个重要工具,它们通过自动化和智能化的方式提高了测试的效率和质量。
内容关键点:
- LLMs的应用:LLMs能够理解和生成自然语言,这使得它们在自动化测试案例生成、代码审查、缺陷检测和程序修复等方面具有潜在的应用价值。
- 测试方法的变革:LLMs的引入正在改变传统的软件测试方法。它们可以帮助自动化测试过程,减少人工干预,提高测试覆盖率,并能够更快地响应软件变更。
- 挑战与机遇:尽管LLMs在软件测试中展现出巨大的潜力,但它们也带来了新的挑战,如模型的训练和调优、数据隐私和安全性问题,以及如何与现有的测试框架和工具集成。
- 研究趋势:文章还讨论了当前的研究趋势,包括如何利用LLMs来提高测试的准确性和效率,以及如何克服与LLMs集成相关的技术障碍。
- 未来展望:文章最后提出了未来研究的方向,包括开发新的算法和技术来更好地利用LLMs,以及探索LLMs在软件测试中的新应用场景。
2. Large Language Models for Issue Report Classification
G Colavito, F Lanubile, N Novielli, L Quaranta - 2024
大型语言模型用于问题报告分类
摘要
本文研究了在软件项目管理中,如何有效地进行问题分类。由于问题标签的不一致性可能会对监督分类模型的性能产生负面影响,作者调查了标签一致性和训练数据大小对自动问题分类的影响。首先在手动验证的数据集上评估了少量样本学习方法,并与在更大的众包数据集上进行微调的结果进行了比较。结果表明,当在一致的标签上进行训练和测试时,该方法能够实现更高的准确性。然后,使用GPT-3.5进行了零样本分类的研究,发现其性能与经过微调的监督模型相当,尽管没有进行微调。这表明在标注数据有限时,生成模型可以帮助分类问题。总体而言,研究结果为平衡问题分类中的数据量和质量提供了见解。
研究背景
协作式软件开发涉及复杂的过程和活动,以有效支持软件开发和维护。在此背景下,问题跟踪系统被广泛采用,以管理变更请求(例如错误修复或产品增强)以及来自用户的支持请求,这些系统被视为维护人员有效管理软件演变活动的重要工具。
问题与挑战
- 标签误用: 提交者经常将改进请求与错误混为一谈,反之亦然。
- 数据质量问题: 数据集中的许多问题报告被标记有多个标签,这是噪声的来源。
如何解决
- 少量样本学习: 使用手动验证的训练数据集来训练鲁棒分类器。
- 零样本学习: 使用GPT-3.5模型在没有微调的情况下进行分类。
创新点
- SETFIT模型: 用于少量样本学习的模型,可以在数据有限的情况下进行有效训练。
- GPT-3.5模型: 在没有训练数据的情况下,用于自动问题分类的生成模型。
算法模型
- SETFIT: 基于少量样本学习的模型。
- GPT-3.5: 用于零样本学习的大型语言模型。
实验效果
- SETFIT模型: 在手动标记的测试集上,F1得分为0.8321。
- GPT-3.5模型: 在相同的测试集上,F1得分为0.8155。
结论
研究表明,提高数据质量可以提升问题分类性能。少量样本学习模型SETFIT在手动验证的数据集上表现更好,而GPT-3.5在没有手动标注数据的情况下也能实现与BERT类似的性能。
推荐阅读指数
★★☆☆☆
推荐理由:
这篇文章探讨了在软件工程领域,如何利用大型语言模型来解决实际问题,特别是在数据标注资源有限的情况下。
3. Large Language Models in Software Engineering: A Focus on Issue Report Classification and User Acceptance Test Generation
G De Vito, LLL Starace, S Di Martino, F Ferrucci… - 2024
大型语言模型在软件工程中的应用:关注问题报告分类和用户验收测试生成
摘要
本文探讨了大型语言模型(LLMs)在软件工程中的潜力,特别是在问题报告分类和用户验收测试(UAT)生成这两个关键任务上的应用。问题报告分类的挑战在于准确对错误报告或功能请求进行分类和优先级排序。LLMs旨在开发能够高效分类问题报告的模型,以促进软件开发团队及时响应和解决问题。测试场景生成涉及自动生成测试用例以验证软件功能。在这种情况下,LLMs提供了分析需求文档、用户故事或其他形式的文本输入,以自动生成全面的测试场景,减少测试用例创建中的手动工作。
研究背景
软件工程领域经历了由LLMs带来的范式转变,这些高级的自然语言处理(NLP)模型在理解和生成自然语言文本及源代码方面展现出显著的能力。
问题与挑战
- 问题报告分类: 需要准确分类和优先处理错误报告或功能请求。
- 用户验收测试生成: 需要从需求文档或用户案例中自动生成详尽的测试用例,减少手动测试用例创建的工作量。
如何解决
- 问题报告分类: 利用LLMs进行动态少量样本提示策略,引入更先进的摘要方法来处理超出LLMs上下文大小限制的问题报告。
- 用户验收测试生成: 分析用自然语言描述的需求,利用LLMs将需求转化为详尽的UAT文档。
创新点
- 动态少量样本提示策略: 通过向量数据库选择与当前问题报告更相关的少量样本。
- 利用LLMs生成UAT: 从自然语言描述的需求文档中自动生成测试用例。
算法模型
- 问题报告分类: 利用MapReduce模型进行问题报告的摘要,并使用向量数据库进行相似性搜索以选择相关样本。
- 用户验收测试生成: 使用LLMs,特别是GPT-4,来解释和转换需求文档,生成UAT文档。
实验效果
文章中并未提供具体的实验效果数据,而是提出了评估策略和预期的研究贡献。
结论
本文讨论了利用LLMs解决软件工程中两个重要挑战的潜力:问题报告分类和UAT生成。通过使用向量数据库和LLMs的少量样本学习等先进技术,旨在提高这些关键任务的效率和准确性。
推荐阅读指数
★★★☆☆
推荐理由:
这篇文章为软件工程领域中LLMs的应用提供了深入的见解,并探讨了如何通过自动化关键任务来提高开发效率和产品质量。
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29(下)+https://developer.aliyun.com/article/1628919