Exception Evolution in Long-lived Java Systems

Osman, Haidar; Chis, Andrei; Corrodi, Claudio; Ghafari, Mohammad; Nierstrasz, Oscar Marius (2017). Exception Evolution in Long-lived Java Systems. In: 14th International Conference on Mining Software Repositories. MSR '17 (pp. 302-311). IEEE 10.1109/MSR.2017.21

[img] Text
07962380.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (337kB)

Exception handling allows developers to deal with abnormal situations that disrupt the execution flow of a program. There are mainly three types of exceptions: standard exceptions provided by the programming language itself, custom exceptions defined by the project developers, and third-party exceptions defined in external libraries. We conjecture that there are multiple factors that affect the use of these exception types. We perform an empirical study on long-lived Java projects to investigate these factors. In particular, we analyze how developers rely on the different types of exceptions in throw statements and exception handlers. We confirm that the domain, the type, and the development phase of a project affect the exception handling patterns. We observe that applications have significantly more error handling code than libraries and they increasingly rely on custom exceptions. Also, projects that belong to different domains have different preferences of exception types. For instance, content management systems rely more on custom exceptions than standard exceptions whereas the opposite is true in parsing frameworks.

Item Type:

Conference or Workshop Item (Paper)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Osman, Haidar, Corrodi, Claudio, Ghafari, Mohammad, Nierstrasz, Oscar

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

ISBN:

978-1-5386-1545-4

Series:

MSR '17

Publisher:

IEEE

Language:

English

Submitter:

Oscar Nierstrasz

Date Deposited:

16 Apr 2018 09:09

Last Modified:

02 Mar 2023 23:30

Publisher DOI:

10.1109/MSR.2017.21

BORIS DOI:

10.7892/boris.113143

URI:

https://boris.unibe.ch/id/eprint/113143

Actions (login required)

Edit item Edit item
Provide Feedback