CrashTranslator: Automatically Reproducing Mobile Application Crashes Directly from Stack Trace
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 automati...
Gespeichert in:
Hauptverfasser: | , , , , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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. |
---|---|
DOI: | 10.48550/arxiv.2310.07128 |