skip to main content
10.1145/3299815.3314472acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
short-paper

An Empirical Study of Exception Handling Bugs and Fixes

Published: 18 April 2019 Publication History

Abstract

Modern programming languages often provide a mechanism for programmers to handle exceptions, i.e., unexpected errors occurring while a software system is running. Failing to catch and handle exceptions properly often leads to serious issues such as crashing, resource leaking, or causing negative end-user experiences. However, learning exception handling patterns is often challenging due to the insufficiency of API documentation and source code examples. To understand the nature of exception-related bugs and how developers fix them, in this paper, we performed an empirical study on nearly 300 exception-related bugs and fixes from 10 mobile apps. We report five findings which provide insights about those exception bugs and fixes.

References

[1]
E. A. Barbosa, A. Garcia, and M. Mezini. Heuristic Strategies for Recommendation of Exception Handling Code. In Brazilian Symposium on Software Engineering 2012. Natal, Brazil.
[2]
R. Coelho, L. Almeida, G. Gousios, and A. Deursen. Unveiling Exception Handling Bug Hazards in Android Based on GitHub and Google Code Issues. In MSR'15. Florence, Italy.
[3]
J. L. M. Filho, L. Rocha, R. Andrade, and R. Britto. Preventing Erosion in Exception Handling Design Using Static-Architecture Conformance Checking. In ECSA'17. Canterbury, UK.
[4]
A. Mockus and L. G. Votta. Identifying Reasons for Software Changes Using Historic Databases. ICSM 2000. California, USA.
[5]
H. A. Nguyen, A. T. Nguyen, T. T. Nguyen, T. N. Nguyen, and H. Rajan. A Study of Repetitiveness of Code Changes in Software Evolution. In ASE'13. California, USA.
[6]
K. Pan, S. Kim, and E. James Whitehead, Jr. Toward an Understanding of Bug Fix Patterns. In Empirical Software Engineering 2009.
[7]
S. Kim, T. Zimmermann, E. James Whitehead Jr., and A. Zeller. Predicting Faults from Cached History. In ICSE'07. Minnesota USA.
[8]
M. M. Rahman and C. K. Roy. On the Use of Context in Recommending Exception Handling Code Examples. In SCAM'14. British Columbia, Canada.
[9]
S. Thummalapenta and T. Xie. Mining Exception-handling Rules As Sequence Association Rules. In ICSE'09. Vancouver, Canada.
[10]
W. Weimer and G. C. Necula. Finding and Preventing Run-time Error Handling Mistakes. In OOPSLA'04. Oregon USA.
[11]
W. Weimer and G. C. Necula. Mining Temporal Specifications for Error Detection. In TACAS'05. Edinburgh, UK.
[12]
Z. Yin, D. Yuan, Y. Zhou, S. Pasupathy, and L. Bairavasundaram. How Do Fixes Become Bugs?. In FSE'11. Szeged, Hungary.
[13]
H. Zhong and Z. Su. An Empirical Study on Real Bug Fixes. In ICSE'15. Texas, USA.

Cited By

View all
  • (2022)An Empirical Study on Bugs in PHPInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402250029232:06(845-870)Online publication date: 31-May-2022
  • (2022)An Empirical Study on Bugs in Python InterpretersIEEE Transactions on Reliability10.1109/TR.2022.315981271:2(716-734)Online publication date: Jun-2022
  • (2021)Studying the Practices of Logging Exception Stack Traces in Open-Source Software ProjectsIEEE Transactions on Software Engineering10.1109/TSE.2021.3129688(1-1)Online publication date: 2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ACMSE '19: Proceedings of the 2019 ACM Southeast Conference
April 2019
295 pages
ISBN:9781450362511
DOI:10.1145/3299815
  • Conference Chair:
  • Dan Lo,
  • Program Chair:
  • Donghyun Kim,
  • Publications Chair:
  • Eric Gamess
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 April 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Bug Fixing
  2. Empirical Study
  3. Exception Handling

Qualifiers

  • Short-paper
  • Research
  • Refereed limited

Conference

ACM SE '19
Sponsor:
ACM SE '19: 2019 ACM Southeast Conference
April 18 - 20, 2019
GA, Kennesaw, USA

Acceptance Rates

Overall Acceptance Rate 502 of 1,023 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)1
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)An Empirical Study on Bugs in PHPInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402250029232:06(845-870)Online publication date: 31-May-2022
  • (2022)An Empirical Study on Bugs in Python InterpretersIEEE Transactions on Reliability10.1109/TR.2022.315981271:2(716-734)Online publication date: Jun-2022
  • (2021)Studying the Practices of Logging Exception Stack Traces in Open-Source Software ProjectsIEEE Transactions on Software Engineering10.1109/TSE.2021.3129688(1-1)Online publication date: 2021
  • (2021)D-REX: Static Detection of Relevant Runtime Exceptions with Location Aware Transformer2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM52516.2021.00032(198-208)Online publication date: Sep-2021
  • (2020)API Misuse CorrectionProceedings of the 2020 ACM Southeast Conference10.1145/3374135.3385307(288-291)Online publication date: 2-Apr-2020
  • (2020)Code recommendation for exception handlingProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409690(1027-1038)Online publication date: 8-Nov-2020
  • (2019)Recommending Exception Handling Code2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2019.00066(390-393)Online publication date: Sep-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media