On the Investigation of Exception Pull Request Characteristics: Exploring the Apache Ecosystem

Robustness is critical for ensuring that software functions correctly under adverse conditions. Exception-handling mechanisms in programming languages enable developers to deal with these adverse conditions. However, implementing exception-related code can present significant challenges to developer...

Full description

Saved in:
Bibliographic Details
Published inProceedings / IEEE International Working Conference on Source Code Analysis and Manipulation pp. 143 - 153
Main Authors Correia, JoAo, Coutinho, Daniel, Garcia, Alessandro, de Mello, Rafael, Barbosa, Caio, Oliveira, Anderson, Assuncao, Wesley K. G., Pereira, Juliana Alves, Steinmacher, Igor, Gerosa, Marco, Souza, Jairo, Arriel, Johny
Format Conference Proceeding
LanguageEnglish
Published IEEE 07.10.2024
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Robustness is critical for ensuring that software functions correctly under adverse conditions. Exception-handling mechanisms in programming languages enable developers to deal with these adverse conditions. However, implementing exception-related code can present significant challenges to developers. We investigated exception-related code contributions across Java projects in the Apache ecosystem. We analyzed exception-related pull requests (exception-PRs), which were detected using a validated heuristic. We produced a comprehensive dataset of 988 exception-PRs. We observed no statistically significant differences in complexity metrics between exception-PRs and non-exception-PRs. We also found no significant differences in developers' behavior metrics, indicating consistent engagement regardless of whether the pull request addressed exception-related code. A manual analysis revealed that most exception-PRs focused on system improvements rather than bug fixes, suggesting proactive efforts to enhance software robustness. Moreover, the most frequently addressed aspects of exceptional code in these exception-PRs were: (i) the external representation of adverse situations to end-users (more than 40% of the PRs) and (ii) the implementation of effective error-handling actions (nearly 35% of the PRs) to promote program recoverability. Interestingly, a significant proportion of exception-PRs simultaneously addressed multiple aspects. By understanding the nature and characteristics of exception-PRs, we expect to better support developers in managing erroneous conditions and improving software robustness.
ISSN:2470-6892
DOI:10.1109/SCAM63643.2024.00023