An Empirical Study of Bugs in Eclipse Stable Internal Interfaces

03/17/2022
by   Simon Kawuma, et al.
0

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 zero bugs. These results 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.

READ FULL TEXT
research
10/08/2018

Identification of promoted eclipse unstable interfaces using clone detection technique

The Eclipse framework is a popular and widely used framework that has be...
research
08/11/2021

Why are Some Bugs Non-Reproducible? An Empirical Investigation using Data Fusion

Software developers attempt to reproduce software bugs to understand the...
research
12/25/2022

Assessing the Impact of Interface Vulnerabilities in Compartmentalized Software

Least-privilege separation decomposes applications into compartments lim...
research
07/19/2023

An Analysis of Bugs In Persistent Memory Application

Over the years of challenges on detecting the crash consistency of non-v...
research
03/28/2020

A Faster, More Intuitive RooFit

RooFit and RooStats, the toolkits for statistical modelling in ROOT, are...
research
09/09/2019

Sindarin: A Versatile Scripting API for the Pharo Debugger

Debugging is one of the most important and time consuming activities in ...

Please sign up or login with your details

Forgot password? Click here to reset