测试极限:利用大语言模型生成异常文本输入以检测移动应用崩溃
软件工程
2023-10-25 v1
摘要
移动应用已成为我们日常生活中无处不在的一部分,为用户提供对各种服务和工具的访问。文本输入作为用户与应用之间重要的交互渠道,在搜索查询、身份验证、消息传递等核心功能中发挥着重要作用。然而,某些特殊文本(例如字体大小设为 -18)会导致应用崩溃,而生成多样化的异常输入以充分测试应用需求迫切。尽管如此,由于组合爆炸困境、高上下文敏感性和复杂约束关系的存在,这也极具挑战性。本文提出 InputBlaster,其利用 LLM 自动生成用于移动应用崩溃检测的异常文本输入。它将异常输入生成问题形式化为生成一组测试生成器的任务,每个生成器可在同一变异规则下产生一批异常文本输入。具体而言,InputBlaster 利用 LLM 生成测试生成器及作为推理链的变异规则,并采用上下文学习范式向 LLM 提供示例以提升性能。InputBlaster 在涉及 31 款流行 Android 应用的 36 个含崩溃缺陷的文本输入控件上进行了评估,结果表明其实现了 78% 的缺陷检测率,比最佳基线高出 136%。此外,我们将其与自动化 GUI 测试工具集成,在来自 Google Play 的真实应用中检测到 37 个未知崩溃。
引用
@article{arxiv.2310.15657,
title = {Testing the Limits: Unusual Text Inputs Generation for Mobile App Crash Detection with Large Language Model},
author = {Zhe Liu and Chunyang Chen and Junjie Wang and Mengzhuo Chen and Boyu Wu and Xing Che and Dandan Wang and Qing Wang},
journal= {arXiv preprint arXiv:2310.15657},
year = {2023}
}
备注
Accepted by IEEE/ACM International Conference on Software Engineering 2024 (ICSE 2024)