Exception handling bug hazards in Android: Results from a mining study and an exploratory survey

被引:0
|
作者
Coelho R. [1 ]
Almeida L. [1 ,2 ]
Gousios G. [3 ]
van Deursen A. [3 ]
Treude C. [4 ]
机构
[1] Federal University of Rio Grande do Norte, CIVT/UFRN, Av. Senador Salgado Filho, 3000, Lagoa Nova
[2] Federal Institute of Education, Science and Technology of Rio Grande do Norte, Campus São Gonçalo do Amarante, Rua Alexandre Cavalcanti Centro. 59290000, São Gonçalo do Amarante, RN
[3] Delft University of Technology, Mekelweg 4, Delft
[4] University of Adelaide, School of Computer Science, Ingkarni Wardli 4.48, Adelaide, 5005, SA
关键词
Android development; Exception handling; Exploratory survey; Repository mining;
D O I
10.1007/s10664-016-9443-7
中图分类号
学科分类号
摘要
Adequate handling of exceptions has proven difficult for many software engineers. Mobile app developers in particular, have to cope with compatibility, middleware, memory constraints, and battery restrictions. The goal of this paper is to obtain a thorough understanding of common exception handling bug hazards that app developers face. To that end, we first provide a detailed empirical study of over 6,000 Java exception stack traces we extracted from over 600 open source Android projects. Key insights from this study include common causes for system crashes, and common chains of wrappings between checked and unchecked exceptions. Furthermore, we provide a survey with 71 developers involved in at least one of the projects analyzed. The results corroborate the stack trace findings, and indicate that developers are unaware of frequently occurring undocumented exception handling behavior. Overall, the findings of our study call for tool support to help developers understand their own and third party exception handling and wrapping logic. © 2016, Springer Science+Business Media New York.
引用
收藏
页码:1264 / 1304
页数:40
相关论文
共 50 条
  • [1] Exception handling bug hazards in Android: Results from a mining study and an exploratory survey
    Coelho, Roberta
    Almeida, Lucas
    Gousios, Georgios
    van Deursen, Arie
    Treude, Christoph
    Empirical Software Engineering, 2017, 22 (03): : 1264 - 1304
  • [2] Exception handling bug hazards in Android
    Coelho, Roberta
    Almeida, Lucas
    Gousios, Georgios
    van Deursen, Arie
    Treude, Christoph
    EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (03) : 1264 - 1304
  • [3] Unveiling Exception Handling Bug Hazards in Android based on GitHub and Google Code Issues
    Coelho, Roberta
    Almeida, Lucas
    Gousios, Georgios
    van Deursen, Arie
    12TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2015), 2015, : 134 - 145
  • [4] An Exploratory Study of Exception Handling Behavior in Evolving Android and Java']Java Applications
    Oliveira, Juliana
    Cacho, Nelio
    Borges, Deise
    Silva, Thaisa
    Castor, Fernando
    THIRTIETH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES 2016), 2016, : 23 - 32
  • [5] From android bug reports to android bug handling process: An empirical study of open-source development
    Yu L.
    Int. J. Open Source Softw. Processes, 4 (1-18): : 1 - 18
  • [6] The exception handling riddle: An empirical study on the Android API
    Kechagia, Maria
    Fragkoulis, Marios
    Louridas, Panos
    Spinellis, Diomidis
    JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 142 : 248 - 270
  • [7] An exploratory study on exception handling bugs in Java']Java programs
    Ebert, Felipe
    Castor, Fernando
    Serebrenik, Alexander
    JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 106 : 82 - 101
  • [8] A Reflection on "An Exploratory Study on Exception Handling Bugs in Java']Java Programs"
    Ebert, Felipe
    Castor, Fernando
    Serebrenikt, Alexander
    PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 552 - 556
  • [9] Visual Trajectory Pattern Mining: An Exploratory Study in Baggage Handling Systems
    Al-Serafi, Ayman
    Elragal, Ahmed
    ADVANCES IN DATA MINING: APPLICATIONS AND THEORETICAL ASPECTS, 2014, 8557 : 159 - 173
  • [10] How Does Exception Handling Behavior Evolve? An Exploratory Study in Java']Java and C# Applications
    Cacho, Nelio
    Barbosa, Eiji Adachi
    Araujo, Juliana
    Pranto, Frederico
    Garcia, Alessandro
    Cesar, Thiago
    Soares, Eliezio
    Cassio, Arthur
    Filipe, Thomas
    Garcia, Israel
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 31 - 40