You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 structure the code that deals with these adverse conditions. However, implementing the exception-related code may present significant challenges to developers. In this context, this paper reports a study in which we investigated the attention given by developers to the exception-related code across Java projects of the Apache ecosystem. We analyzed the exception-related pull requests (exception-PRs), which were detected with a validated heuristic, to characterize and classify the aspects of these contributions. We produced a comprehensive dataset of 986 exception-PRs detected with the proposed heuristic. A tally of 280 PRs was manually analyzed to characterize and classify the aspects of these contributions to the exception-related code. Our results reveal several trends. First, no statistically significant differences are observed in complexity metrics for exception-PRs versus non-exception-PRs. Similarly, no significant differences are observed in developers' behavior metrics, indicating consistent engagement regardless of whether the pull request addressed exceptional code or not. Most exception-PRs focus on system improvements rather than bug fixes, underscoring proactive efforts to enhance software robustness. Moreover, the most frequently addressed aspects of exceptional code in these exception-PRs are: (i) the external representation of the 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 the program recoverability. Interestingly, a significant proportion of exception-PRs addresses simultaneously various of these (and other) aspects.
RQ1: How does the dynamics of exception-PRs and non-exception-PRs differ?