论文

自动提高 Android 应用程序错误报告的质量

Automatically Enhancing the Quality of Android App Bug Reports

摘要

移动应用程序中的大多数缺陷都可以在设备屏幕上直观地观察到。由于检测和报告此类缺陷的自动化机制通常不可用,因此用户、测试人员和开发人员必须手动提交错误报告。然而,这些报告常常不完整、含糊或不准确,常常缺乏理解、重现和诊断缺陷所需的信息。对于以 UI 为中心的缺陷来说,这一挑战尤为突出,最终用户很难准确描述相关的应用程序行为。我们将自动错误报告增强制定为将用户编写的错误报告与应用程序执行连接起来的问题。我们提出了 BugScribe,这是一种由 LLM 支持的方法,它将错误报告信息与特定于应用程序的 UI 执行信息链接起来,以推断并生成准确、完整且正确的观察行为 (OB)、预期行为 (EB) 和重现步骤 (S2R)。 BugScribe 采用特定于组件的基础策略,为 LLM 提供最相关的上下文,以生成每个错误报告组件。为了支持 BugScribe 的设计和评估,我们开发了一个错误报告质量模型,并使用它来识别每个组件最有效的上下文。我们使用手动构建的 真值 对来自 26 个 Android 应用程序的 48 个错误报告进行了 BugScribe 评估。我们的结果表明,BugScribe 生成的错误报告组件比原始报告和三个基于 LLM 的基线更高质量,将 S2R 质量提高了 44.1%--82.3%,将 OB/EB 质量提高了 3.8%--35.2%。