How Does Exception Handling Behavior Evolve? An Exploratory Study in Java and C# Applications
@article{Cacho2014HowDE, title={How Does Exception Handling Behavior Evolve? An Exploratory Study in Java and C\# Applications}, author={Nelio Alessandro Azevedo Cacho and Eiji Adachi Barbosa and Juliana Araujo and Frederico Pranto and Alessandro F. Garcia and Thiago C{\'e}sar and Eliezio Soares and Arthur Cassio and Thomas Filipe and Israel Garc{\'i}a}, journal={2014 IEEE International Conference on Software Maintenance and Evolution}, year={2014}, pages={31-40} }
Exception handling mechanisms (EHM) were conceived as a means to improve maintainability and reliability of programs that have to deal with exceptional situations. Amongst the different implementations of built-in EHM, we classify them in two main categories: reliability-driven and maintenance-driven. Some programming languages, such as Java, provide built-in exception handling mechanisms that promote reliability-driven EHMs. Maintenance-driven EHMs, on the other hand, promote software…
24 Citations
Contrasting exception handling code across languages: An experience report involving 50 open source projects
- Computer Science2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE)
- 2015
The analysis confirms the existing belief that developers often pay little attention to developing exception scoping and handling behaviour and suggests that certain exception handling mechanisms are less explored by programmers using certain programming languages.
Revisiting Exception Handling Practices with Exception Flow Analysis
- Computer Science2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM)
- 2017
This case study is conducted with over 10K exception handling blocks, and over 77K related exception flows from 16 open-source Java and C# (.NET) libraries and applications, and shows that there is a lack of documentation of the possible exceptions and their sources.
Studying the Relationship between Exception Handling Practices and Post-Release Defects
- Computer Science2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR)
- 2018
It is found that exception flow characteristics in Java projects have a significant relationship with post- release defects, and development teams should consider allocating more resources to improving their exception handling practices and avoid the anti-patterns that are found to have a relationship withPost-release defects.
How Swift Developers Handle Errors
- Computer Science2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR)
- 2018
It is indicated that there is ample opportunity to improve the way Swift developers use error handling mechanisms, and some recommendations derived in this work are not well spread in the corpus of studied Swift projects.
Enforcing Exception Handling Policies with a Domain-Specific Language
- Computer ScienceIEEE Transactions on Software Engineering
- 2016
Exception Handling Policies Language is presented, a domain-specific language to specify and verify exception handling policies and some language characteristics that hindered its use and that motivated new language constructs are identified.
Studying the evolution of exception handling anti-patterns in a long-lived large-scale project
- Computer ScienceJournal of the Brazilian Computer Society
- 2020
It is suggested that the absence of an explicit exception handling policy impacts negatively in the developers’ perception and implementation of exception handling, leading developers to replicate existing anti-patterns and spread them through new features added during system evolution.
Do android developers neglect error handling? a maintenance-Centric study on the relationship between android abstractions and uncaught exceptions
- Computer ScienceJ. Syst. Softw.
- 2018
Preventing Erosion in Exception Handling Design Using Static-Architecture Conformance Checking
- Computer ScienceECSA
- 2017
The ArCatch is proposed: an architectural conformance checking solution to deal with the exception handling design erosion and proves useful and effective in the identification of existing exception handling erosion problems and locating its causes in the source code.
Learning to Handle Exceptions
- Computer Science2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)
- 2020
A novel neural approach to automated exception handling is proposed, which can predict locations of try blocks and automatically generate the complete catch blocks and outperforms all baselines.
Mastering global exceptions with policy-aware recommendations
- Computer ScienceICSE '15
- 2015
This work aims at supporting the implementation of global exception handling by leveraging on explicit specifications of exception handling policies, and is the first one to provide support for specifying exception handling Policies and writing policy-compliant exception handling code.
References
SHOWING 1-10 OF 31 REFERENCES
Trading robustness for maintainability: an empirical study of evolving c# programs
- Computer ScienceICSE
- 2014
Most of the problems hindering software robustness in C# programs are caused by changes in the normal code, and faults are often facilitated by the maintenance-driven flexibility of the exception handling mechanism.
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
- Computer ScienceECOOP
- 2008
The findings show that exception handling code in AO systems is error-prone, since all versions analyzed presented an increase in the number of uncaughtexceptions and exceptions caught by the wrong handler.
Static analysis to support the evolution of exception structure in object-oriented systems
- Computer ScienceTSEM
- 2003
This article presents a model that encapsulates the minimal concepts necessary for a developer to determine exception flow for object-oriented languages that define exceptions as objects, and describes Jex, a static analysis tool developed to provide exception-flow information for Java systems based on this model.
Exception Handling: A Field Study in Java and .NET
- Computer ScienceECOOP
- 2007
To the knowledge, this is the most comprehensive study done on exception handling to date, providing a quantitative measure useful for guiding the development of new error handling mechanisms.
A comparative study of exception handling mechanisms for building dependable object-oriented software
- Computer ScienceJ. Syst. Softw.
- 2001
EJFlow: taming exceptional control flows in aspect-oriented programming
- Computer ScienceAOSD
- 2008
This paper presents an innovative aspect-oriented model for exception handling implementation that provides abstractions to explicitly describe global views of exceptional control flows and leverages existing pointcut languages to make the association of handlers with normal code more flexible.
Exception Handling Defects: An Empirical Study
- Business2012 IEEE 14th International Symposium on High-Assurance Systems Engineering
- 2012
An exploratory study to determine whether using exception handling is relatively risky by analyzing the defect densities of exception handling code and the overall source code found that the density of defects that are closely related to exception handling constructs is relatively high compared to the overall defect density.
Extracting Error Handling to Aspects: A Cookbook
- Computer Science2007 IEEE International Conference on Software Maintenance
- 2007
This paper proposes a classification for error handling code based on the factors that are found out have more influence on its aspectization and presents a scenario catalog comprising combinations of these factors and analyzes how these scenarios positively or negatively affect the task of aspectizing exception handling.
Improving robustness of evolving exceptional behaviour in executable models
- Computer ScienceWEH '08
- 2008
The proposed exception handling model extends the aspect-oriented language constructs and the control-flow analysis of the Motorola WEAVR with the aim of promoting enhanced robustness and program modularization.
Handling contract violations in Java Card using explict exception channels
- Computer Science2012 5th International Workshop on Exception Handling (WEH)
- 2012
This paper claims that problem of handling contract violation in Java Card applications can be addressed by implementing an innovative exception handling model which provides abstractions to explicitly describe global views of exceptional control flows.