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.
Preview |
Text (application/pdf)
1MBBicalhoDePadua_MASc_W2018.pdf - Accepted Version Available under License Spectrum Terms of Access. |
Abstract
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 By: | GUILHERME BICALHO DE PADUA |
Deposited On: | 11 Jun 2018 03:34 |
Last Modified: | 11 Jun 2018 03:34 |
Repository Staff Only: item control page