一句话:提出 ScopeDroid,通过状态转移图与多模态神经匹配网络,从自然语言缺陷报告自动复现移动应用崩溃。
缺陷报告对软件维护至关重要,但开发者在修复前往往需耗费大量时间人工复现缺陷。移动应用缺陷报告中的复现步骤常用不精确或不完整的自然语言描述,GUI 组件信息也可能缺失或产生歧义,使自动复现十分困难。本文提出上下文感知的自动崩溃复现方法 ScopeDroid:首先为应用构建状态转移图(STG)并抽取组件的上下文信息;然后设计多模态神经匹配网络,计算候选 GUI 事件与复现步骤之间的模糊匹配矩阵;结合 STG 与匹配信息规划探索路径以复现崩溃,并迭代丰富初始 STG。作者在来自 69 个流行 Android 应用的 102 份缺陷报告上评估,成功复现 63.7% 的崩溃,较两种最先进基线分别高出 32.6% 和 38.3%,并验证了有效性与鲁棒性。为训练匹配网络,还提出基于启发式的自动训练数据生成方法。
Bug reports are vital for software maintenance that allow the developers being informed of the problems encountered in the software. Before bug fixing, developers need to reproduce the bugs which is an extremely time-consuming and tedious task, and it is highly expected to automate this process. However, it is challenging to do so considering the imprecise or incomplete natural language described in reproducing steps, and the missing or ambiguous single source of information in GUI components. In this paper, we propose a context-aware bug reproduction approach ScopeDroid which automatically reproduces crashes from textual bug reports for mobile apps. It first constructs a state transition graph (STG) and extracts the contextual information of components. We then design a multi-modal neural matching network to derive the fuzzy matching matrix between all candidate GUI events and reproducing steps. With the STG and matching information, it plans the exploration path for reproducing the bug, and enriches the initial STG iteratively. We evaluate the approach on 102 bug reports from 69 popular Android apps, and it successfully reproduces 63.7% of the crashes, outper-forming the state-of-the-art baselines by 32.6% and 38.3%. We also evaluate the usefulness and robustness of ScopeDroid with promising results. Furthermore, to train the neural matching network, we develop a heuristic-based automated training data generation method, which can potentially motivate and facilitate other activities as user interface operations.
@inproceedings{HuangWLWCLW23,
title = {Context-aware Bug Reproduction for Mobile Apps},
author = {Yuchao Huang and Junjie Wang and Zhe Liu and Song Wang and Chunyang Chen and Mingyang Li and Qing Wang},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00196}
}