Login | Register

Studying and Assisting the Practice of Java and C# Exception Handling


Studying and Assisting the Practice of Java and C# Exception Handling

Bicalho de Pádua, Guilherme ORCID: https://orcid.org/0000-0003-4283-3046 (2018) Studying and Assisting the Practice of Java and C# Exception Handling. Masters thesis, Concordia University.

[thumbnail of BicalhoDePadua_MASc_W2018.pdf]
Text (application/pdf)
BicalhoDePadua_MASc_W2018.pdf - Accepted Version
Available under License Spectrum Terms of Access.


Programming languages provide features that handle exceptions. These features separate error-handling from regular code and aim to assist software maintenance. Nevertheless, their misuse can cause reliability degradation or even catastrophic failures. Prior studies on exception handling aim to understand the practices of exception handling and their anti-patterns. However, little knowledge was shared about the prevalence of these anti-patterns, nor the relationship between exception handling practices and software quality. In this thesis, I, first, study the exception handling features by enriching the knowledge of handling code with a flow analysis of exceptions. Second, I investigate the prevalence of exception handling anti-patterns. Finally, I investigate the relationship between software quality and: (i) flow characteristics and (ii) 17 handling anti-patterns. Our case study is conducted with over 10K handling blocks, and over 77K related flows from 16 Java and C# projects. I built statistical models of the chance of post-release defects using traditional software metrics and exception handling metrics. Our case study results show the complexity of exception handling. Moreover, I found that although exception handling anti-patterns widely exist in all of our subjects, only a few anti-patterns can be commonly identified. Finally, I conclude that exception flow characteristics in Java projects and some exception handling anti-patterns can provide significant explanatory power to the chance of post-release defects.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering
Item Type:Thesis (Masters)
Authors:Bicalho de Pádua, Guilherme
Institution:Concordia University
Degree Name:M.A. Sc.
Program:Software Engineering
Date:February 2018
Thesis Supervisor(s):Shang, Weiyi
Keywords:Exception Handling, Software Quality, Empirical Software Engineering
ID Code:983550
Deposited On:11 Jun 2018 03:34
Last Modified:11 Jun 2018 03:34
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top