  TThe 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.
