{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T13:48:21Z","timestamp":1770299301510,"version":"3.49.0"},"reference-count":61,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2018,2,1]],"date-time":"2018-02-01T00:00:00Z","timestamp":1517443200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2018,2]]},"DOI":"10.1016\/j.jss.2017.10.032","type":"journal-article","created":{"date-parts":[[2017,10,28]],"date-time":"2017-10-28T22:47:01Z","timestamp":1509230821000},"page":"1-18","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":30,"special_numbering":"C","title":["Do android developers neglect error handling? a maintenance-Centric study on the relationship between android abstractions and uncaught exceptions"],"prefix":"10.1016","volume":"136","author":[{"given":"Juliana","family":"Oliveira","sequence":"first","affiliation":[]},{"given":"Deise","family":"Borges","sequence":"additional","affiliation":[]},{"given":"Thaisa","family":"Silva","sequence":"additional","affiliation":[]},{"given":"Nelio","family":"Cacho","sequence":"additional","affiliation":[]},{"given":"Fernando","family":"Castor","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2017.10.032_bib0001","series-title":"Fifth Latin-American Symposium on Dependable Computing Workshops","first-page":"17","article-title":"Analyzing exceptional interfaces on evolving frameworks","author":"Barbosa","year":"2011"},{"key":"10.1016\/j.jss.2017.10.032_bib0002","series-title":"Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program Analysis","first-page":"27","article-title":"Dexpler: Converting android dalvik bytecode to jimple for static analysis with soot","author":"Bartel","year":"2012"},{"key":"10.1016\/j.jss.2017.10.032_bib0003","series-title":"Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on","first-page":"133","article-title":"An empirical analysis of bug reports and bug fixing in open source android apps","author":"Bhattacharya","year":"2013"},{"key":"10.1016\/j.jss.2017.10.032_bib0004","series-title":"Testing object-Oriented systems: Models, patterns, and tools","author":"Binder","year":"2000"},{"key":"10.1016\/j.jss.2017.10.032_bib0005","series-title":"21st European Conference Object-Oriented Programming","first-page":"151","article-title":"Exception handling: A field study in Java and .net","author":"Cabral","year":"2007"},{"key":"10.1016\/j.jss.2017.10.032_bib0006","series-title":"IEEE International Conference on Software Maintenance and Evolution (ICSME)","first-page":"31","article-title":"How does exception handling behavior evolve? an exploratory study in Java and C# applications","author":"Cacho","year":"2014"},{"key":"10.1016\/j.jss.2017.10.032_bib0007","series-title":"Proceedings of the 7th International Conference on Aspect-Oriented Software Development","first-page":"72","article-title":"Ejflow: taming exceptional control flows in aspect-oriented programming","author":"Cacho","year":"2008"},{"key":"10.1016\/j.jss.2017.10.032_bib0008","series-title":"Proceedings of the 36th International Conference on Software Engineering","article-title":"Trading robustness for maintainability: An empirical study of evolving C# programs","author":"Cacho","year":"2014"},{"key":"10.1016\/j.jss.2017.10.032_bib0009","series-title":"SIGSOFT \u201906\/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering","first-page":"152","article-title":"Exceptions and aspects: the devil is in the details","author":"Castor Filho","year":"2006"},{"key":"10.1016\/j.jss.2017.10.032_bib0010","series-title":"IEEE International Conference on Software Maintenance, 2007. ICSM 2007","first-page":"134","article-title":"Extracting error handling to aspects: A cookbook","author":"Castor Filho","year":"2007"},{"key":"10.1016\/j.jss.2017.10.032_bib0011","series-title":"Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services","first-page":"239","article-title":"Analyzing inter-application communication in android","author":"Chin","year":"2011"},{"key":"10.1016\/j.jss.2017.10.032_bib0012","series-title":"Proceedings of the 12th Working Conference on Mining Software Repositories","article-title":"Unveiling exception handling bug hazards in android based on Github and Google code issues","author":"Coelho","year":"2015"},{"issue":"13","key":"10.1016\/j.jss.2017.10.032_bib0013","doi-asserted-by":"crossref","first-page":"2700","DOI":"10.1016\/j.ins.2010.06.002","article-title":"Unveiling and taming liabilities of aspects in the presence of exceptions: a static analysis based approach","volume":"181","author":"Coelho","year":"2011","journal-title":"Inf. Sci."},{"key":"10.1016\/j.jss.2017.10.032_bib0014","series-title":"Assessing the impact of aspects on exception flows: An exploratory study","first-page":"207","author":"Coelho","year":"2008"},{"issue":"6","key":"10.1016\/j.jss.2017.10.032_bib0015","doi-asserted-by":"crossref","first-page":"531","DOI":"10.1109\/TC.1982.1676035","article-title":"Exception handling and software fault tolerance.","volume":"31","author":"Cristian","year":"1982","journal-title":"IEEE Trans. Computers"},{"key":"10.1016\/j.jss.2017.10.032_bib0016","series-title":"Proceedings of the 8th ACM Conference on Security & Privacy in Wireless and Mobile Networks","first-page":"25","article-title":"Wechecker: efficient and precise detection of privilege escalation vulnerabilities in android apps","author":"Cui","year":"2015"},{"key":"10.1016\/j.jss.2017.10.032_bib0017","doi-asserted-by":"crossref","first-page":"82","DOI":"10.1016\/j.jss.2015.04.066","article-title":"An exploratory study on exception handling bugs in java programs","volume":"106","author":"Ebert","year":"2015","journal-title":"J. Syst. Softw."},{"issue":"3","key":"10.1016\/j.jss.2017.10.032_bib0019","doi-asserted-by":"crossref","first-page":"611","DOI":"10.1007\/s10664-013-9288-2","article-title":"1600 Faults in 100 projects: automatically finding faults while achieving high coverage with evosuite","volume":"20","author":"Fraser","year":"2015","journal-title":"Empirical Softw. Engg."},{"key":"10.1016\/j.jss.2017.10.032_bib0020","series-title":"ICSE \u201907","first-page":"230","article-title":"Exception-chain analysis: Revealing exception handling architecture in Java server applications","author":"Fu","year":"2007"},{"key":"10.1016\/j.jss.2017.10.032_bib0021","series-title":"Celebrating the 50th Anniversary of Lisp","first-page":"1:1","article-title":"A pattern of language evolution","author":"Gabriel","year":"2008"},{"issue":"2","key":"10.1016\/j.jss.2017.10.032_bib0018","doi-asserted-by":"crossref","first-page":"197","DOI":"10.1016\/S0164-1212(01)00062-0","article-title":"A comparative study of exception handling mechanisms for building dependable object-oriented software","volume":"59","author":"Garcia","year":"2001","journal-title":"J. Syst. Softw."},{"key":"10.1016\/j.jss.2017.10.032_bib0022","series-title":"Dependable Computing Workshops (LADCW), 2011 Fifth Latin-American Symposium on","first-page":"1","article-title":"eflowmining: An exception-flow analysis tool for .net applications","author":"Garcia","year":"2011"},{"key":"10.1016\/j.jss.2017.10.032_bib0023","series-title":"Proceedings of the 8th Working Conference on Mining Software Repositories","first-page":"83","article-title":"Comparing fine-grained source code changes and code churn for bug prediction","author":"Giger","year":"2011"},{"issue":"12","key":"10.1016\/j.jss.2017.10.032_bib0024","doi-asserted-by":"crossref","first-page":"683","DOI":"10.1145\/361227.361230","article-title":"Exception handling: issues and a proposed notation","volume":"18","author":"Goodenough","year":"1975","journal-title":"Commun. ACM"},{"key":"10.1016\/j.jss.2017.10.032_bib0025","series-title":"PL\/I Programming in Technological Applications","author":"Groner","year":"1971"},{"key":"10.1016\/j.jss.2017.10.032_bib0026","series-title":"A new view of statistics","author":"Hopkins","year":"2013"},{"key":"10.1016\/j.jss.2017.10.032_bib0027","unstructured":"Inc., G., 2015. The android developers website. Http:\/\/developer.android.com. Last visit: March 30th 2015."},{"key":"10.1016\/j.jss.2017.10.032_bib0028","series-title":"C# 5.0 in a Nutshell: The Definitive Reference","author":"Joseph Albahari","year":"2012"},{"key":"10.1016\/j.jss.2017.10.032_bib0029","series-title":"Proceedings of the 11th Working Conference on Mining Software Repositories","article-title":"Undocumented and unchecked: Exceptions that spell trouble","author":"Kechagia","year":"2014"},{"key":"10.1016\/j.jss.2017.10.032_bib0030","series-title":"Proceedings of the 13th International Conference on Mining Software Repositories","first-page":"484","article-title":"Examining programmer practices for locally handling exceptions","author":"Kery","year":"2016"},{"issue":"3","key":"10.1016\/j.jss.2017.10.032_bib0031","doi-asserted-by":"crossref","DOI":"10.1109\/MS.2014.50","article-title":"What do mobile app users complain about? a study on free ios apps","volume":"32","author":"Khalid","year":"2015","journal-title":"IEEE Software"},{"key":"10.1016\/j.jss.2017.10.032_bib0032","series-title":"Proceedings of the 6th India Software Engineering Conference","first-page":"3","article-title":"Predicting method crashes with bytecode operations","author":"Kim","year":"2013"},{"key":"10.1016\/j.jss.2017.10.032_bib0033","series-title":"Fault Tolerance: Principles and practice","author":"Lee","year":"1990"},{"key":"10.1016\/j.jss.2017.10.032_bib0034","series-title":"Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering","first-page":"477","article-title":"Api change and fault proneness: A threat to the success of android apps","author":"Linares-V\u00e1squez","year":"2013"},{"issue":"6","key":"10.1016\/j.jss.2017.10.032_bib0035","doi-asserted-by":"crossref","first-page":"546","DOI":"10.1109\/TSE.1979.230191","article-title":"Exception handling in clu.","volume":"5","author":"Liskov","year":"1979","journal-title":"IEEE Trans. Software Eng."},{"key":"10.1016\/j.jss.2017.10.032_bib0036","series-title":"Dependable Systems and Networks (DSN), 2012 42nd Annual IEEE\/IFIP International Conference on","first-page":"1","article-title":"An empirical study of the robustness of inter-component communication in android","author":"Maji","year":"2012"},{"key":"10.1016\/j.jss.2017.10.032_bib0037","series-title":"Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution","first-page":"56","article-title":"Are the classes that use exceptions defect prone?","author":"Marinescu","year":"2011"},{"key":"10.1016\/j.jss.2017.10.032_bib0038","series-title":"Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2013 15th International Symposium on","first-page":"250","article-title":"Should we beware the exceptions? an empirical study on the eclipse project","author":"Marinescu","year":"2013"},{"key":"10.1016\/j.jss.2017.10.032_bib0039","unstructured":"McCune, T., 2006. Exception-handling antipatterns. Address: http:\/\/today.java.net\/pub\/a\/today\/2006\/04\/06\/ exception-handling-antipatterns.html \u2013 Last access: May 10th 2013."},{"key":"10.1016\/j.jss.2017.10.032_bib0040","series-title":"Proceedings of an ACM conference on Language design for reliable software","first-page":"95","article-title":"Software reliability: The role of programmed exception handling","author":"Melliar-Smith","year":"1977"},{"key":"10.1016\/j.jss.2017.10.032_bib0041","doi-asserted-by":"crossref","DOI":"10.1007\/BFb0053375","article-title":"Issues with exception handling in object-oriented systems","volume":"1241","author":"Miller","year":"1997","journal-title":"Lect. Notes Comput. Sci."},{"key":"10.1016\/j.jss.2017.10.032_bib0042","series-title":"Proceedings of the 27th international conference on Software engineering","first-page":"284","article-title":"Use of relative code churn measures to predict system defect density","author":"Nagappan","year":"2005"},{"key":"10.1016\/j.jss.2017.10.032_bib0043","series-title":"Proceedings of the 13th International Conference on Mining Software Repositories","first-page":"500","article-title":"Analysis of exception handling patterns in java projects: An empirical study","author":"Nakshatri","year":"2016"},{"key":"10.1016\/j.jss.2017.10.032_bib0044","series-title":"Proceedings of the 21st ACM SIGSOFT Symposium on Foundations of Software Engineering","article-title":"How do developers use parallel libraries","author":"Okur","year":"2012"},{"key":"10.1016\/j.jss.2017.10.032_bib0045","series-title":"Proceedings of the 30th Brazilian Symposium on Software Engineering","first-page":"23","article-title":"An exploratory study of exception handling behavior in evolving android and java applications","author":"Oliveira","year":"2016"},{"key":"10.1016\/j.jss.2017.10.032_bib0046","unstructured":"Oracle, 2015. Unchecked exceptions ? the controversy. Available at: https:\/\/docs.oracle.com\/javase\/tutorial\/essential\/exceptions\/runtime.html. Last visit: July 15th 2017."},{"key":"10.1016\/j.jss.2017.10.032_bib0047","series-title":"ICSE \u201976: Proceedings of the 2nd international conference on Software engineering","first-page":"437","article-title":"Response to undesired events in software systems","author":"Parnas","year":"1976"},{"key":"10.1016\/j.jss.2017.10.032_bib0048","series-title":"Android Programming: The Big Nerd Ranch Guide","author":"Phillips","year":"2013"},{"issue":"C","key":"10.1016\/j.jss.2017.10.032_bib0049","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1016\/j.jss.2015.04.064","article-title":"A large-scale study on the usage of Java\u2019s concurrent programming constructs","volume":"106","author":"Pinto","year":"2015","journal-title":"J. Syst. Softw."},{"key":"10.1016\/j.jss.2017.10.032_bib0050","series-title":"Software Fault Tolerance","first-page":"1","article-title":"The Evolution of the Recovery Block Concept","author":"Randell","year":"1995"},{"key":"10.1016\/j.jss.2017.10.032_bib0051","series-title":"SIGSOFT \u201900\/FSE-8: Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering","first-page":"2","article-title":"Designing robust java programs with exceptions","author":"Robillard","year":"2000"},{"issue":"2","key":"10.1016\/j.jss.2017.10.032_bib0052","doi-asserted-by":"crossref","first-page":"191","DOI":"10.1145\/941566.941569","article-title":"Static analysis to support the evolution of exception structure in object-oriented systems","volume":"12","author":"Robillard","year":"2003","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2017.10.032_bib0053","series-title":"High-Assurance Systems Engineering (HASE), 2012 IEEE 14th International Symposium on","first-page":"90","article-title":"Exception handling defects: An empirical study","author":"Sawadpong","year":"2012"},{"issue":"10","key":"10.1016\/j.jss.2017.10.032_bib0054","doi-asserted-by":"crossref","first-page":"1157","DOI":"10.1002\/spe.4380231007","article-title":"Static analysis of exception handling in ada","volume":"23","author":"Schaefer","year":"1993","journal-title":"Softw. Pract. Exper."},{"key":"10.1016\/j.jss.2017.10.032_bib0055","series-title":"Proceedings of the 13th International Conference on Mining Software Repositories","first-page":"212","article-title":"Understanding the exception handling strategies of Java libraries: An empirical study","author":"Sena","year":"2016"},{"key":"10.1016\/j.jss.2017.10.032_bib0056","series-title":"Mobile Computing, Applications and Services (MobiCASE), 2014 6th International Conference on","first-page":"166","article-title":"Mining android apps to predict market ratings","author":"Shaw","year":"2014"},{"key":"10.1016\/j.jss.2017.10.032_bib0057","series-title":"Program Comprehension (ICPC), 2015 IEEE 23rd International Conference on","first-page":"48","article-title":"Generating reproducible and replayable bug reports from android application crashes","author":"White","year":"2015"},{"key":"10.1016\/j.jss.2017.10.032_bib0058","series-title":"Experimentation in Software Engineering - An Introduction","author":"Wohlin","year":"2000"},{"key":"10.1016\/j.jss.2017.10.032_bib0059","series-title":"Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track","first-page":"283","article-title":"Exception beyond exception: Crashing android system by trapping in \u201duncaughtexception\u201d","author":"Wu","year":"2017"},{"issue":"9","key":"10.1016\/j.jss.2017.10.032_bib0060","doi-asserted-by":"crossref","first-page":"849","DOI":"10.1109\/TSE.1985.232544","article-title":"Design stability measures for software maintenance","volume":"11","author":"Yau","year":"1985","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.10.032_bib0061","series-title":"In Proceedings of 34th International Conference on Software Engineering","first-page":"595","article-title":"Amplifying tests to validate exception handling code","author":"Zhang","year":"2012"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121217302558?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121217302558?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,6,28]],"date-time":"2018-06-28T22:26:33Z","timestamp":1530224793000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121217302558"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,2]]},"references-count":61,"alternative-id":["S0164121217302558"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2017.10.032","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2018,2]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Do android developers neglect error handling? a maintenance-Centric study on the relationship between android abstractions and uncaught exceptions","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2017.10.032","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2017 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}