{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,24]],"date-time":"2026-03-24T17:38:47Z","timestamp":1774373927617,"version":"3.50.1"},"reference-count":58,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2016,8,13]],"date-time":"2016-08-13T00:00:00Z","timestamp":1471046400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"name":"INES(National Institute of Science and Technology for Software Engineering)"},{"name":"CNPq Universal","award":["grant 484209\/2013-2"],"award-info":[{"award-number":["grant 484209\/2013-2"]}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2017,6]]},"DOI":"10.1007\/s10664-016-9443-7","type":"journal-article","created":{"date-parts":[[2016,8,13]],"date-time":"2016-08-13T01:52:58Z","timestamp":1471053178000},"page":"1264-1304","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":31,"title":["Exception handling bug hazards in Android"],"prefix":"10.1007","volume":"22","author":[{"given":"Roberta","family":"Coelho","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lucas","family":"Almeida","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Georgios","family":"Gousios","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Arie van","family":"Deursen","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christoph","family":"Treude","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2016,8,13]]},"reference":[{"key":"9443_CR1","doi-asserted-by":"crossref","unstructured":"Amalfitano D, Fasolino AR, Tramontana P, De Carmine S, Memon AM (2012) Using gui ripping for automated testing of android applications. In: Proceedings of the 27th IEEE\/ACM International conference on automated software engineering. ACM, pp 258\u2013261","DOI":"10.1145\/2351676.2351717"},{"key":"9443_CR2","doi-asserted-by":"crossref","unstructured":"Bacchelli A, Dal Sasso T, D\u2019Ambros M, Lanza M (2012) Content classification of development emails. In: Proceedings of ICSE 2012, pp 375\u2013385","DOI":"10.1109\/ICSE.2012.6227177"},{"issue":"4","key":"9443_CR3","doi-asserted-by":"crossref","first-page":"384","DOI":"10.1109\/TSE.2014.2367027","volume":"41","author":"G Bavota","year":"2015","unstructured":"Bavota G, Linares-Vasquez M, Bernal-Cardenas C E, Di Penta M, Oliveto R, Poshyvanyk D (2015) The impact of api change-and fault-proneness on the user ratings of android apps. IEEE Trans Softw Eng 41(4):384\u2013407","journal-title":"IEEE Trans Softw Eng"},{"key":"9443_CR4","doi-asserted-by":"crossref","unstructured":"Bettenburg N, Just S, Schr\u00f6ter A, Weiss C, Premraj R, Zimmermann T (2008a) What makes a good bug report? In: Proceedings of FSE 2008, pp 308\u2013318","DOI":"10.1145\/1453101.1453146"},{"key":"9443_CR5","doi-asserted-by":"crossref","unstructured":"Bettenburg N, Premraj R, Zimmermann T, Kim S (2008b) Extracting structural information from bug reports. In: Proceedings of MSR 2008. ACM, pp 27\u201330","DOI":"10.1145\/1370750.1370757"},{"key":"9443_CR6","unstructured":"Binder R (2000) Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Professional"},{"key":"9443_CR7","unstructured":"Bloch J (2008) Effective java. Pearson Education India"},{"key":"9443_CR8","doi-asserted-by":"crossref","unstructured":"Brunet J, Guerrero D, Figueiredo J (2009) Design tests: an approach to programmatically check your code against design rules. In: Proceedings of new ideas and emerging research (NIER) track at the international conference on software engineering (ICSE). IEEE, pp 255\u2013258","DOI":"10.1109\/ICSE-COMPANION.2009.5070995"},{"key":"9443_CR9","doi-asserted-by":"crossref","unstructured":"Cabral B, Marques P (2007) Exception handling: a field study in Java and.Net. In: Proceedings of ECOOP 2007. Springer, pp 151\u2013175","DOI":"10.1007\/978-3-540-73589-2_8"},{"key":"9443_CR10","volume-title":"Constructing grounded theory: a practical guide through qualitative research","author":"K Charmaz","year":"2006","unstructured":"Charmaz K (2006) Constructing grounded theory: a practical guide through qualitative research. SagePublications Ltd, London"},{"key":"9443_CR11","unstructured":"Jenkov Tutorials. Checked or Unchecked Exceptions? (2014) http:\/\/tutorials.jenkov.com\/java-exception-handling\/checked-or-unchecked-exceptions.html , online"},{"key":"9443_CR12","doi-asserted-by":"crossref","unstructured":"Coelho R, Rashid A, Garcia A, Ferrari F, Cacho N, Kulesza U, von Staa A, Lucena C (2008) Assessing the impact of aspects on exception flows: An exploratory study. In: Proceedings of European conference on object-oriented programming (ECOOP). Springer-Verlag, pp 207\u2013234","DOI":"10.1007\/978-3-540-70592-5_10"},{"issue":"13","key":"9443_CR13","doi-asserted-by":"crossref","first-page":"2700","DOI":"10.1016\/j.ins.2010.06.002","volume":"181","author":"R Coelho","year":"2011","unstructured":"Coelho R, von Staa A, Kulesza U, Rashid A, Lucena C (2011) Unveiling and taming liabilities of aspects in the presence of exceptions: a static analysis based approach. Inf Sci 181(13):2700\u2013 2720","journal-title":"Inf Sci"},{"issue":"11","key":"9443_CR14","doi-asserted-by":"crossref","first-page":"1025","DOI":"10.1002\/spe.602","volume":"34","author":"C Csallner","year":"2004","unstructured":"Csallner C, Smaragdakis Y (2004) Jcrasher: an automatic robustness tester for Java. Softw Pract Exper 34(11):1025\u20131050","journal-title":"Softw Pract Exper"},{"key":"9443_CR15","doi-asserted-by":"crossref","unstructured":"Dhaliwal T, Khomh F, Zou Y (2011) Classifying field crash reports for fixing bugs: A case study of mozilla firefox. In: Proceedings of international conference on software maintenance (ICSM 2011), pp 333\u2013342","DOI":"10.1109\/ICSM.2011.6080800"},{"key":"9443_CR16","unstructured":"Enck W, Octeau D, McDaniel P, Chaudhuri S (2011) A study of android application security. In: USENIX security symposium, vol 2, pp 2"},{"key":"9443_CR17","unstructured":"Fraser G, Arcuri A (2013) 1600 faults in 100 projects: automatically finding faults while achieving high coverage with evosuite. In: Empirical software engineering, pp 1\u201329"},{"key":"9443_CR18","unstructured":"Garcia A, Rubira C, et al. (2007) Extracting error handling to aspects: a cookbook. In: Proceedings international conference on software maintenance (ICSM). IEEE, pp 134\u2013143"},{"issue":"2","key":"9443_CR19","doi-asserted-by":"crossref","first-page":"197","DOI":"10.1016\/S0164-1212(01)00062-0","volume":"59","author":"AF Garcia","year":"2001","unstructured":"Garcia A F, Rubira C M, Romanovsky A, Xu J (2001) A comparative study of exception handling mechanisms for building dependable object-oriented software. J Syst Softw 59(2):197\u2013222","journal-title":"J Syst Softw"},{"issue":"12","key":"9443_CR20","doi-asserted-by":"crossref","first-page":"683","DOI":"10.1145\/361227.361230","volume":"18","author":"JB Goodenough","year":"1975","unstructured":"Goodenough J B (1975) Exception handling: issues and a proposed notation. CACM 18(12):683\u2013696","journal-title":"CACM"},{"key":"9443_CR21","unstructured":"Gosling J (2000) The Java language specification. Addison-Wesley Professional"},{"key":"9443_CR22","unstructured":"Gousios G (2013) The GHTorrent dataset and tool suite. In: Proceedings of the international working conference on mining software repositories (MSR). IEEE, pp 233\u2013236"},{"key":"9443_CR23","doi-asserted-by":"crossref","unstructured":"Gousios G, Zaidman A, Storey MA, Van Deursen A (2015) Work practices and challenges in pull-based development: the integrator\u2019s perspective. Tech. rep","DOI":"10.1109\/ICSE.2015.55"},{"issue":"2","key":"9443_CR24","doi-asserted-by":"crossref","first-page":"479","DOI":"10.1007\/s10664-014-9312-1","volume":"20","author":"A Hindle","year":"2015","unstructured":"Hindle A, Bird C, Zimmermann T, Nagappan N (2015) Do topics make sense to managers and developers? Emp Softw Eng 20(2):479\u2013515","journal-title":"Emp Softw Eng"},{"issue":"1","key":"9443_CR25","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1016\/S0164-1212(03)00057-8","volume":"72","author":"JW Jo","year":"2004","unstructured":"Jo J W, Chang B M, Yi K, Choe K M (2004) An uncaught exception analysis for java. J Syst Softw 72(1):59\u201369","journal-title":"J Syst Softw"},{"key":"9443_CR26","doi-asserted-by":"crossref","unstructured":"Joorabchi M E, Mesbah A, Kruchten P (2013) Real challenges in mobile app development. In: 2013 ACM\/IEEE International symposium on empirical software engineering and measurement. IEEE, pp 15\u201324","DOI":"10.1109\/ESEM.2013.9"},{"key":"9443_CR27","doi-asserted-by":"crossref","unstructured":"Kechagia M, Spinellis D (2014) Undocumented and unchecked: exceptions that spell trouble. In: Proceedings of the 11th working conference on mining software repositories. ACM, pp 312\u2013315","DOI":"10.1145\/2597073.2597089"},{"key":"9443_CR28","doi-asserted-by":"crossref","unstructured":"Kim S, Zimmermann T, Nagappan N (2011) Crash graphs: an aggregated view of multiple crashes to improve crash triage. In: Proceedings of the IEEE\/IFIP International conference on dependable systems and networks (DSN). IEEE, pp 486\u2013493","DOI":"10.1109\/DSN.2011.5958261"},{"key":"9443_CR29","doi-asserted-by":"crossref","unstructured":"Kim S, Zimmermann T, Premraj R, Bettenburg N, Shivaji S (2013) Predicting method crashes with bytecode operations. In: Proceedings of the 6th India software engineering conference, pp 3\u201312","DOI":"10.1145\/2442754.2442756"},{"key":"9443_CR30","doi-asserted-by":"crossref","unstructured":"Ko AJ, DeLine R, Venolia G (2007) Information needs in collocated software development teams. In: Proceedings of the 29th international conference on software engineering. IEEE Computer Society, pp 344\u2013353","DOI":"10.1109\/ICSE.2007.45"},{"key":"9443_CR31","doi-asserted-by":"crossref","unstructured":"Kochhar PS, Thung F, Nagappan N, Zimmermann T, Lo D (2015) Understanding the test automation culture of app developers. In: 2015 IEEE 8th International conference on software testing, verification and validation (ICST). IEEE, pp 1\u201310","DOI":"10.1109\/ICST.2015.7102609"},{"key":"9443_CR32","doi-asserted-by":"publisher","unstructured":"Linares-V\u00e1squez M, Bavota G, Bernal-C\u00e1rdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: a threat to the success of Android apps. In: Proceedings of FSE 2013. ACM, pp 477\u2013487. doi: 10.1145\/2491411.2491428","DOI":"10.1145\/2491411.2491428"},{"key":"9443_CR33","doi-asserted-by":"crossref","unstructured":"Linares-V\u00e1squez M, Vendome C, Luo Q, Poshyvanyk D (2015) How developers detect and fix performance bottlenecks in android apps. In: 2015 IEEE International conference on software maintenance and evolution (ICSME). IEEE, pp 352\u2013361","DOI":"10.1109\/ICSM.2015.7332486"},{"key":"9443_CR34","doi-asserted-by":"crossref","unstructured":"Maji A K, Arshad F A, Bagchi S, Rellermeyer JS (2012) An empirical study of the robustness of inter-component communication in Android. In: Proceedings of the IEEE\/IFIP international conference on dependable systems and networks (DSN). IEEE, pp 1\u201312","DOI":"10.1109\/DSN.2012.6263963"},{"key":"9443_CR35","unstructured":"Mandrioli D, Meyer B (1992) Advances in object-oriented software engineering. Prentice-Hall Inc"},{"key":"9443_CR36","doi-asserted-by":"crossref","unstructured":"McDonnell T, Ray B, Kim M (2013) An empirical study of api stability and adoption in the android ecosystem. In: Proceedings international conference on software maintenance (ICSM), pp 70\u201379","DOI":"10.1109\/ICSM.2013.18"},{"key":"9443_CR37","doi-asserted-by":"crossref","unstructured":"Meyer AN, Fritz T, Murphy GC, Zimmermann T (2014) Software developers\u2019 perceptions of productivity. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering. ACM, pp 19\u201329","DOI":"10.1145\/2635868.2635892"},{"key":"9443_CR38","doi-asserted-by":"crossref","unstructured":"Miller R, Tripathi A (1997) Issues with exception handling in object-oriented systems. In: Proceedings of ECOOP\u201997. Springer, pp 85\u2013103","DOI":"10.1007\/BFb0053375"},{"key":"9443_CR39","doi-asserted-by":"crossref","unstructured":"Nanda MG, Sinha S (2009) Accurate interprocedural null-dereference analysis for java. In: 31st International conference on software engineering, 2009. ICSE 2009. IEEE, pp 133\u2013143","DOI":"10.1109\/ICSE.2009.5070515"},{"key":"9443_CR40","unstructured":"Null references:the billion dollar mistake, abstract of talk at QCon London (2009) https:\/\/qconlondon.com\/london-2009\/qconlondon.com\/london-2009\/presentation\/Null%2BReferences_%2BThe%2BBillion%2BDollar%2BMistake.html , online"},{"key":"9443_CR41","doi-asserted-by":"publisher","unstructured":"Pathak A, Hu YC, Zhang M (2011) Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices. In: Proceedings of the 10th ACM workshop on hot topics in networks. ACM, New York, HotNets-X, pp 5:1\u20135:6. doi: 10.1145\/2070562.2070567","DOI":"10.1145\/2070562.2070567"},{"key":"9443_CR42","doi-asserted-by":"crossref","unstructured":"Pham R, Singer L, Liskin O, Figueira Filho F, Schneider K (2013) Creating a shared understanding of testing culture on a social coding site. In: 2013 35th International conference on software engineering (ICSE). IEEE, pp 112\u2013121","DOI":"10.1109\/ICSE.2013.6606557"},{"key":"9443_CR43","doi-asserted-by":"crossref","unstructured":"Robillard MP, Murphy GC (2000) Designing robust Java programs with exceptions. In: Proceedings international conference on the foundations of software engineering (FSE). pp 2\u201310","DOI":"10.1145\/355045.355046"},{"key":"9443_CR44","doi-asserted-by":"publisher","unstructured":"Ruiz I, Nagappan M, Adams B, Hassan A (2012) Understanding reuse in the Android market. In: Proceedings of the international conference on program comprehension (ICPC), pp 113\u2013122. doi: 10.1109\/ICPC.2012.6240477","DOI":"10.1109\/ICPC.2012.6240477"},{"key":"9443_CR45","unstructured":"Sacramento P, Cabral B, Marques P (2006) Unchecked exceptions: can the programmer be trusted to document exceptions. In: International conference on innovative views of.NET technologies"},{"key":"9443_CR46","doi-asserted-by":"crossref","unstructured":"Schr\u00f6ter A, Bettenburg N, Premraj R (2010) Do stack traces help developers fix bugs? In: Proceedings working conference on mining software repositories (MSR). IEEE, pp 118\u2013121","DOI":"10.1109\/MSR.2010.5463280"},{"issue":"2","key":"9443_CR47","doi-asserted-by":"crossref","first-page":"150","DOI":"10.1109\/TSE.2010.7","volume":"36","author":"HB Shah","year":"2010","unstructured":"Shah H B, Gorg C, Harrold M J (2010) Understanding exception handling: Viewpoints of novices and experts. IEEE Trans Soft Eng 36(2):150\u2013161","journal-title":"IEEE Trans Soft Eng"},{"key":"9443_CR48","unstructured":"Stackoverflow Q&A. Java: checked vs unchecked exception explanation. (2014) http:\/\/stackoverflow.com\/questions\/6115896\/java-checked-vs-unchecked-exception-explanation , online"},{"key":"9443_CR49","doi-asserted-by":"crossref","unstructured":"Singer L, Figueira Filho F, Storey MA (2014) Software engineering at the speed of light: how developers stay current using twitter. In: Proceedings of the 36th international conference on software engineering. ACM, pp 211\u2013221","DOI":"10.1145\/2568225.2568305"},{"key":"9443_CR50","doi-asserted-by":"crossref","unstructured":"Sinha S, Shah H, G\u00f6rg C, Jiang S, Kim M, Harrold MJ (2009) Fault localization and repair for Java runtime exceptions. In: Proceedings International symposium on software testing and analysis (ISSTA). ACM, pp 153\u2013164","DOI":"10.1145\/1572272.1572291"},{"key":"9443_CR51","unstructured":"The Java tutorial. Unchecked exceptions: The controversy. (2014) http:\/\/docs.oracle.com\/javase\/tutorial\/essential\/exceptions\/runtime.html , online"},{"issue":"10","key":"9443_CR52","doi-asserted-by":"crossref","first-page":"455","DOI":"10.1145\/1103845.1094847","volume":"40","author":"M Van Dooren","year":"2005","unstructured":"Van Dooren M, Steegmans E (2005) Combining the robustness of checked exceptions with the flexibility of unchecked exceptions using anchored exception declarations. ACM SIGPLAN Notices 40 (10):455\u2013471","journal-title":"ACM SIGPLAN Notices"},{"key":"9443_CR53","doi-asserted-by":"crossref","unstructured":"Wadler P (1995) Monads for functional programming. In: Advanced functional programming. Springer, pp 24\u201352","DOI":"10.1007\/3-540-59451-5_2"},{"key":"9443_CR54","doi-asserted-by":"crossref","unstructured":"Wang S, Khomh F, Zou Y (2013) Improving bug localization using correlations in crash reports. In: Proceedings working conference on mining software repositories (MSR 2013). ACM\/IEEE, pp 247\u2013256","DOI":"10.1109\/MSR.2013.6624036"},{"key":"9443_CR55","doi-asserted-by":"crossref","unstructured":"Wasserman AI (2010) Software engineering issues for mobile application development. In: Proceedings of the FSE\/SDP workshop on future of software engineering research. ACM, pp 397\u2013400","DOI":"10.1145\/1882362.1882443"},{"issue":"5","key":"9443_CR56","doi-asserted-by":"crossref","first-page":"11","DOI":"10.1109\/MS.2006.144","volume":"23","author":"RJ Wirfs-Brock","year":"2006","unstructured":"Wirfs-Brock R J (2006) Toward exception-handling best practices and patterns. Softw IEEE 23(5):11\u201313","journal-title":"Softw IEEE"},{"key":"9443_CR57","unstructured":"Yuan D, Luo Y, Zhuang X, Rodrigues GR, Zhao X, Zhang Y, Jain P, Stumm M (2014) Simple testing can prevent most critical failures: An analysis of production failures in distributed data-intensive systems. In: 11th USENIX symposium on operating systems design and implementation, OSDI \u201914. Broomfield, pp 249\u2013265"},{"key":"9443_CR58","doi-asserted-by":"crossref","unstructured":"Zhang P, Elbaum S (2012) Amplifying tests to validate exception handling code. In: Proceedings international conference on software engineering (ICSE). IEEE Press, Piscataway, pp 595\u2013605. http:\/\/dl.acm.org\/citation.cfm?id=2337223.2337293","DOI":"10.1109\/ICSE.2012.6227157"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-016-9443-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9443-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9443-7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9443-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,12]],"date-time":"2019-09-12T14:17:01Z","timestamp":1568297821000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-016-9443-7"}},"subtitle":["Results from a mining study and an exploratory survey"],"short-title":[],"issued":{"date-parts":[[2016,8,13]]},"references-count":58,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2017,6]]}},"alternative-id":["9443"],"URL":"https:\/\/doi.org\/10.1007\/s10664-016-9443-7","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,8,13]]}}}