Generating Reproducible and Replayable Bug Reports from Android Application Crashes

被引:29
|
作者
White, Martin [1 ]
Linares-Vasquez, Mario [1 ]
Johnson, Peter [1 ]
Bernal-Cardenas, Carlos [1 ]
Poshyvanyk, Denys [1 ]
机构
[1] Coll William & Mary, Dept Comp Sci, Williamsburg, VA 23187 USA
关键词
Android; crash and bug reports; reproducibility;
D O I
10.1109/ICPC.2015.14
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Manually reproducing bugs is time-consuming and tedious. Software maintainers routinely try to reproduce unconfirmed issues using incomplete or noninformative bug reports. Consequently, while reproducing an issue, the maintainer must augment the report with information-such as a reliable sequence of descriptive steps to reproduce the bug-to aid developers with diagnosing the issue. This process encumbers issue resolution from the time the bug is entered in the issue tracking system until it is reproduced. This paper presents CRASHDROID, an approach for automating the process of reproducing a bug by translating the call stack from a crash report into expressive steps to reproduce the bug and a kernel event trace that can be replayed on-demand. CRASHDROID manages traceability links between scenarios' natural language descriptions, method call traces, and kernel event traces. We evaluated CRASHDROID on several open-source Android applications infected with errors. Given call stacks from crash reports, CRASHDROID was able to generate expressive steps to reproduce the bugs and automatically replay the crashes. Moreover, users were able to confirm the crashes faster with CRASHDROID than manually reproducing the bugs or using a stress-testing tool.
引用
收藏
页码:48 / 59
页数:12
相关论文
共 50 条
  • [41] From Reports to Bug-Fix Commits: A 10 Years Dataset of Bug-Fixing Activity from 55 Apache's Open Source Projects
    Vieira, Renan
    da Silva, Antonio
    Rocha, Lincoln
    Gomes, Joao Paulo
    15TH INTERNATIONAL CONFERENCE ON PREDICTIVE MODELS AND DATA ANALYTICS IN SOFTWARE ENGINEERING (PROMISE'19), 2019, : 80 - 89
  • [42] Framework for Analyzing Android I/O Stack Behavior: From Generating the Workload to Analyzing the Trace
    Jeong, Sooman
    Lee, Kisung
    Hwang, Jungwoo
    Lee, Seongjin
    Won, Youjip
    FUTURE INTERNET, 2013, 5 (04) : 591 - 610
  • [44] LESSONS LEARNED FROM MOBILE COMPUTING APPLICATION DEVELOPMENT WITH ANDROID
    Song, Se Jun
    2012 ASEE ANNUAL CONFERENCE, 2012,
  • [45] Generation & Analysis of Association Rules from Android Application Clones
    Saini, Umang
    Verma, Shilpa
    2015 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI), 2015, : 1255 - 1262
  • [46] Inferring test models from user bug reports using multi-objective search
    Guizzo, Giovani
    Califano, Francesco
    Sarro, Federica
    Ferrucci, Filomena
    Harman, Mark
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (04)
  • [47] Enriching automatic test case generation by extracting relevant test inputs from bug reports
    Ouedraogo, Wendkuuni C.
    Plein, Laura
    Kabore, Kader
    Habib, Andrew
    Klein, Jacques
    Lo, David
    Bissyande, Tegawende F.
    EMPIRICAL SOFTWARE ENGINEERING, 2025, 30 (03)
  • [48] Transfer Learning for Mining Feature Requests and Bug Reports from Tweets and App Store Reviews
    Henao, Pablo Restrepo
    Fischbach, Jannik
    Spies, Dominik
    Frattini, Julian
    Vogelsang, Andreas
    29TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE WORKSHOPS (REW 2021), 2021, : 80 - 86
  • [49] Inferring test models from user bug reports using multi-objective search
    Giovani Guizzo
    Francesco Califano
    Federica Sarro
    Filomena Ferrucci
    Mark Harman
    Empirical Software Engineering, 2023, 28
  • [50] Generating a Health Information Technology Event Database from FDA MAUDE Reports
    Wang, Ethan
    Kang, Hong
    Gong, Yang
    MEDINFO 2019: HEALTH AND WELLBEING E-NETWORKS FOR ALL, 2019, 264 : 883 - 887