一句话:提出 CrashTranslator,利用大语言模型预测触发步骤并用强化学习引导搜索,从仅含堆栈跟踪的崩溃报告中自动复现 Android 应用崩溃。
移动应用崩溃报告对软件维护至关重要,但开发者往往需要先复现崩溃才能修复。已有自动复现工作通常依赖自然语言描述的复现步骤,然而相当一部分崩溃报告只包含堆栈跟踪。这类报告仅揭示崩溃发生时的最后一个 GUI 页面,缺乏逐步指引,现有技术难以处理。本文提出 CrashTranslator,直接从堆栈跟踪自动复现移动应用崩溃。该方法利用预训练大语言模型预测触发崩溃的探索步骤,并设计基于强化学习的技术来缓解预测不准确问题、从全局引导搜索。作者在 75 份崩溃报告、58 个流行 Android 应用上评估,成功复现 61.3% 的崩溃,相比最先进基线提升 109% 至 206%;平均复现时间为 68.7 秒,优于基线 302% 至 1611%。可用性评估也取得积极结果。
Crash reports are vital for software maintenance since they allow the developers to be informed of the problems encountered in the mobile application. Before fixing, developers need to reproduce the crash, which is an extremely time-consuming and tedious task. Existing studies conducted the automatic crash reproduction with the natural language described reproducing steps. Yet we find a non-neglectable portion of crash reports only contain the stack trace when the crash occurs. Such stack-trace-only crashes merely reveal the last GUI page when the crash occurs, and lack step-by-step guidance. Developers tend to spend more effort in understanding the problem and reproducing the crash, and existing techniques cannot work on this, thus calling for a greater need for automatic support. This paper proposes an approach named CrashTranslator to automatically reproduce mobile application crashes directly from the stack trace. It accomplishes this by leveraging a pre-trained Large Language Model to predict the exploration steps for triggering the crash, and designing a reinforcement learning based technique to mitigate the inaccurate prediction and guide the search holistically. We evaluate CrashTranslator on 75 crash reports involving 58 popular Android apps, and it successfully reproduces 61.3% of the crashes, outperforming the state-of-the-art baselines by 109% to 206%. Besides, the average reproducing time is 68.7 seconds, outperforming the baselines by 302% to 1611%. We also evaluate the usefulness of CrashTranslator with promising results.
@inproceedings{paperbot11340,
title = {CrashTranslator: Automatically Reproducing Mobile Application Crashes Directly from Stack Trace},
author = {Yuchao Huang and Junjie Wang and Zhe Liu and Yawen Wang and Song Wang and Chunyang Chen and Yuanzhe Hu and Qing Wang},
booktitle = {ICSE},
year = {2024},
doi = {10.1145/3597503.3623298}
}