An Empirical Study of Bugs in Eclipse Stable Internal Interfaces
Simon Kawuma1, Evarist Nabaasa2, David Bamutura Sabiiti3, Vicent Mabirizi4

1Simon Kawuma, Department of Software Engineering, Mbarara University of Science and Technology, Mbarara, Uganda.

2Evarist Nabaasa, Department of Computer Science, Mbarara University of Science and Technology, Mbarara, Uganda.

3David Bamutura Sabiiti, Department of Computer Science, Mbarara University of Science and Technology, Mbarara, Uganda.

4Vincent Mabirizi, Department of Information Technology and Computer Science, Kabale University, Kabale, Uganda.

Manuscript received on 27 June 2022 | Revised Manuscript received on 05 July 2022 | Manuscript Accepted on 15 July 2022 | Manuscript published on 30 December 2023 | PP: 4-10 | Volume-2 Issue-2, July 2022 | Retrieval Number: 100.1/ijsepm.D9015071422 | DOI: 10.54105/ijsepm.D9015.072222

Open Access | Ethics and Policies | Cite | Zenodo | Indexing and Abstracting
© The Authors. Published by Lattice Science Publication (LSP). This is an open access article under the CC-BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)

Abstract: The Eclipse framework is a popular and widely used framework that has been evolving for over a decade. The framework provides both stable interfaces (APIs) and unstable interfaces (non-APIs). Despite being discouraged by Eclipse, application developers often use non-APIs which cause their systems to fail when ported to new framework releases. Previous studies showed that applications using relatively old non-APIs are more likely to be compatible with new releases compared to the ones that used newly introduced non-APIs. Furthermore, from our previous study about the stability of Eclipse internal interfaces, we discovered that there exist 327K stable non-API methods as the Eclipse framework evolves. In the same study, we recommended that 327K stable non-API methods can be used by Eclipse interface providers as possible candidates for promotion to stable interfaces. However, since non-APIs are unsupported and considered to be immature i.e., can contain bugs, to this end there exist a need to first investigate the stable non-APIs for possible bugs before they can be promoted to APIs. In this study, we empirically investigated the stable non-API for possible bugs using Sonarqube software quality tool. We discovered that over 79.8% classes containing old stable non-APIs methods have zero bugs. Results from this study can be used by both interface providers and users as a starting point to analyze which interfaces are well tested and also estimate how much work could be involved when performing bug fixing for a given eclipse release.

Keywords: Eclipse, Interfaces, Stability, Promotion, Faults, Bugs, Evolution.
Scope of the Article: Software Quality and Quality Assurance