Generative AI to Generate Test Data Generators
作者: Benoit Baudry, Khashayar Etemadi, Sen Fang, Yogya Gamage, Yi Liu, Yuxin Liu, Martin Monperrus, Javier Ron, André Silva, Deepika Tiwari
分类: cs.SE, cs.AI, cs.LG
发布日期: 2024-01-31 (更新: 2024-06-14)
期刊: IEEE Software, 2024
💡 一句话要点
利用生成性AI生成测试数据生成器以解决数据生成不足问题
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 生成性AI 测试数据生成 大型语言模型 软件测试 虚假数据生成 自动化生成 程序合成
📋 核心要点
- 现有的虚假数据生成库无法跟上不同自然语言和领域的广泛数据生成需求,导致测试数据不足。
- 论文提出利用生成性AI,通过设计三种提示来生成测试数据,分别针对不同的集成级别进行数据生成。
- 实验结果显示,LLMs在11个领域成功生成了逼真的测试数据生成器,验证了其有效性和广泛适用性。
📝 摘要(中文)
生成虚假数据是现代软件测试的重要维度,但现有的虚假数据生成库无法满足不同自然语言和领域的广泛需求。本文评估了生成性AI在不同领域生成测试数据的能力,设计了三种针对大型语言模型(LLMs)的提示,分别用于原始测试数据生成、特定语言的程序合成以及使用先进的虚假数据生成库的程序生成。通过对11个领域的测试数据生成进行评估,结果表明LLMs能够在所有三个集成级别上成功生成逼真的测试数据生成器。
🔬 方法详解
问题定义:本文旨在解决现有虚假数据生成库无法满足多样化数据生成需求的问题,尤其是在不同自然语言和领域中存在的不足。
核心思路:通过利用大型语言模型(LLMs)生成测试数据,设计三种不同层次的提示,分别用于生成原始数据、合成特定语言的程序以及生成使用先进虚假数据生成库的程序。
技术框架:整体架构包括三个主要模块:1) 原始测试数据生成,2) 特定语言程序合成,3) 使用现有虚假数据生成库的程序生成。每个模块针对不同的集成需求进行优化。
关键创新:最重要的创新在于通过生成性AI实现了对测试数据生成的自动化,能够在多个领域和层次上生成高质量的测试数据生成器,显著提升了生成效率和适用性。
关键设计:在设计中,针对每种提示设置了不同的参数和结构,以确保生成的程序能够有效地满足特定领域的需求,同时优化了生成过程中的损失函数以提高生成数据的真实性。
📊 实验亮点
实验结果表明,LLMs在11个不同领域成功生成了逼真的测试数据生成器,验证了其在原始数据生成、程序合成和使用虚假数据生成库方面的有效性,显示出在所有集成级别上的广泛适用性。
🎯 应用场景
该研究的潜在应用领域包括软件测试、数据科学和机器学习模型的训练等。通过自动生成高质量的测试数据生成器,可以大幅提升测试效率,降低开发成本,并为不同领域的应用提供支持,具有重要的实际价值和未来影响。
📄 摘要(原文)
Generating fake data is an essential dimension of modern software testing, as demonstrated by the number and significance of data faking libraries. Yet, developers of faking libraries cannot keep up with the wide range of data to be generated for different natural languages and domains. In this paper, we assess the ability of generative AI for generating test data in different domains. We design three types of prompts for Large Language Models (LLMs), which perform test data generation tasks at different levels of integrability: 1) raw test data generation, 2) synthesizing programs in a specific language that generate useful test data, and 3) producing programs that use state-of-the-art faker libraries. We evaluate our approach by prompting LLMs to generate test data for 11 domains. The results show that LLMs can successfully generate realistic test data generators in a wide range of domains at all three levels of integrability.