Unveiling exception handling guidelines adopted by Java developers

Despite being an old language feature, Java exception handling code is one of the least understood parts of many systems. Several studies have analyzed the characteristics of exception handling code, trying to identify common practices or even link such practices to software bugs. Few works, however...

Full description

Saved in:
Bibliographic Details
Main Authors: MELO, Hugo, COELHO, Roberta, TREUDE, Christoph
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2019
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/8879
https://ink.library.smu.edu.sg/context/sis_research/article/9882/viewcontent/saner19.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-9882
record_format dspace
spelling sg-smu-ink.sis_research-98822024-06-13T08:55:24Z Unveiling exception handling guidelines adopted by Java developers MELO, Hugo COELHO, Roberta TREUDE, Christoph Despite being an old language feature, Java exception handling code is one of the least understood parts of many systems. Several studies have analyzed the characteristics of exception handling code, trying to identify common practices or even link such practices to software bugs. Few works, however, have investigated exception handling issues from the point of view of developers. None of the works have focused on discovering exception handling guidelines adopted by current systems - which are likely to be a driver of common practices. In this work, we conducted a qualitative study based on semi-structured interviews and a survey whose goal was to investigate the guidelines that are (or should be) followed by developers in their projects. Initially, we conducted semi-structured interviews with seven experienced developers, which were used to inform the design of a survey targeting a broader group of Java developers (i.e., a group of active Java developers from top-starred projects on GitHub). We emailed 863 developers and received 98 valid answers. The study shows that exception handling guidelines usually exist (70%) and are usually implicit and undocumented (54%). Our study identifies 48 exception handling guidelines related to seven different categories. We also investigated how such guidelines are disseminated to the project team and how compliance between code and guidelines is verified; we could observe that according to more than half of respondents the guidelines are both disseminated and verified through code inspection or code review. Our findings provide software development teams with a means to improve exception handling guidelines based on insights from the state of practice of 87 software projects. 2019-02-01T08:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/8879 info:doi/10.1109/SANER.2019.8668001 https://ink.library.smu.edu.sg/context/sis_research/article/9882/viewcontent/saner19.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University exception handling exception handling guidelines Java development qualitative study Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic exception handling
exception handling guidelines
Java development
qualitative study
Software Engineering
spellingShingle exception handling
exception handling guidelines
Java development
qualitative study
Software Engineering
MELO, Hugo
COELHO, Roberta
TREUDE, Christoph
Unveiling exception handling guidelines adopted by Java developers
description Despite being an old language feature, Java exception handling code is one of the least understood parts of many systems. Several studies have analyzed the characteristics of exception handling code, trying to identify common practices or even link such practices to software bugs. Few works, however, have investigated exception handling issues from the point of view of developers. None of the works have focused on discovering exception handling guidelines adopted by current systems - which are likely to be a driver of common practices. In this work, we conducted a qualitative study based on semi-structured interviews and a survey whose goal was to investigate the guidelines that are (or should be) followed by developers in their projects. Initially, we conducted semi-structured interviews with seven experienced developers, which were used to inform the design of a survey targeting a broader group of Java developers (i.e., a group of active Java developers from top-starred projects on GitHub). We emailed 863 developers and received 98 valid answers. The study shows that exception handling guidelines usually exist (70%) and are usually implicit and undocumented (54%). Our study identifies 48 exception handling guidelines related to seven different categories. We also investigated how such guidelines are disseminated to the project team and how compliance between code and guidelines is verified; we could observe that according to more than half of respondents the guidelines are both disseminated and verified through code inspection or code review. Our findings provide software development teams with a means to improve exception handling guidelines based on insights from the state of practice of 87 software projects.
format text
author MELO, Hugo
COELHO, Roberta
TREUDE, Christoph
author_facet MELO, Hugo
COELHO, Roberta
TREUDE, Christoph
author_sort MELO, Hugo
title Unveiling exception handling guidelines adopted by Java developers
title_short Unveiling exception handling guidelines adopted by Java developers
title_full Unveiling exception handling guidelines adopted by Java developers
title_fullStr Unveiling exception handling guidelines adopted by Java developers
title_full_unstemmed Unveiling exception handling guidelines adopted by Java developers
title_sort unveiling exception handling guidelines adopted by java developers
publisher Institutional Knowledge at Singapore Management University
publishDate 2019
url https://ink.library.smu.edu.sg/sis_research/8879
https://ink.library.smu.edu.sg/context/sis_research/article/9882/viewcontent/saner19.pdf
_version_ 1814047606372827136