How Stable are Eclipse Application Framework Internal Interfaces?
Loading...
Date
2019
Journal Title
Journal ISSN
Volume Title
Publisher
IEEE
Abstract
Eclipse framework provides two interfaces: stable
interfaces (APIs) and unstable interfaces (non-APIs). Despite the
non-APIs being discouraged and unsupported, their usage is
not uncommon. 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; that the growth rate of non-APIs is nearly twice as
much as that of APIs; and that the promotion of non-API to APIs
happens at a slow pace since API providers have no assistance
to identify public interface candidates.
Motivated by these findings, our main aim was to empirically
investigate the entire population (2,380K) of non-APIs to find
the non-APIs that remain stable for a long period of time. We
employ cross-project clone detection to identify whether non-
APIs introduced in a given Eclipse release remain stable over
successive releases. We provide a dataset of 327K stable non-
API methods that can be used by both Eclipse interface providers
as possible candidates of promotion. Instead of promoting non-
APIs which are too fine-grained, we summarized the non-API
methods groups in given classes that are stable together and
present class-level non-APIs that possible candidates promotion.
We have shown that it is possible to predict the stability of a
non-API in subsequent Eclipse releases with a precision of
56%, a recall of 96% and an AUC of 92% and an Fmeasure
of 81%. We have also shown that the metrics of
length of a method and number of method parameters in a non-
API method are very good predictors for the stability of the
non-API in successive Eclipse releases. The results provided can
help the API providers to estimate a priori how much work could
be involved in performing the promotion.
Description
Keywords
Eclipse, Framework, Internal Interfaces, Internal Interfaces Promotion, Internal Interfaces Stability, Software Evolution
Citation
Businge, J., Kawuma, S., Openja, M., Bainomugisha, E., & Serebrenik, A. (2019, February). How stable are eclipse application framework internal interfaces?. In 2019 IEEE 26th international conference on software analysis, evolution and reengineering (SANER) (pp. 117-127). IEEE.