How Stable Are Eclipse Application Framework Internal Interfaces?

Loading...
Thumbnail Image

Date

Journal Title

Journal ISSN

Volume Title

Publisher

In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 117-127). 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 candidate’s 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 F measure 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

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.

Endorsement

Review

Supplemented By

Referenced By