Businge, JohnKawuma, SimonOpenja, MosesBainomugisha, EngineerSerebrenik, lexander2023-02-052023-02-052019Businge, 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.https://ieeexplore.ieee.org/abstract/document/8668018/https://nru.uncst.go.ug/handle/123456789/7552Eclipse 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 promotionenEclipseFrameworkInternal InterfacesInternal Interfaces PromotionInternal Interfaces StabilitySoftware EvolutionHow Stable are Eclipse Application Framework Internal Interfaces?Other