Automated Recognition of Buggy Behaviors from Mobile Bug Reports
Bug report reproduction is a crucial but time-consuming task to be carried out during mobile app maintenance. To accelerate this process, researchers have developed automated techniques for reproducing mobile app bug reports. However, due to the lack of an effective mechanism to recognize different buggy behaviors described in the report, existing work is limited to reproducing a narrow scope of bug reports, or requires developers to manually analyze execution traces to determine if a bug was successfully reproduced. To address this limitation, we introduce a novel technique to automatically extract the buggy behavior from the bug report and recognize it during the automated reproduction process. To accommodate various buggy behaviors of mobile app bugs, we conducted a large-scale empirical study and created standardized representation for expressing the bug manifestations identified from our study. Given a report, our approach first transforms the documented buggy behavior into this structured language, then matches it against real-time device and UI information during the reproduction to recognize the bug. Through an empirical evaluation, we showed the effectiveness of our approach in recognizing different bugs and the usefulness of our approach in the automatic reproduction process.