dc.contributor.author | Businge, John | |
dc.contributor.author | Kawuma, Simon | |
dc.contributor.author | Openja, Moses | |
dc.contributor.author | Bainomugisha, Engineer | |
dc.contributor.author | Serebrenik, Alexander | |
dc.date.accessioned | 2022-06-14T08:02:24Z | |
dc.date.available | 2022-06-14T08:02:24Z | |
dc.date.issued | 2019 | |
dc.identifier.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. | en_US |
dc.identifier.uri | http://ir.must.ac.ug/xmlui/handle/123456789/2114 | |
dc.description.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 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. | en_US |
dc.description.sponsorship | Sida/BRIGHT project under the Makerere-Sweden bilateral research programme 2015- 2020. | en_US |
dc.publisher | IEEE | en_US |
dc.subject | Eclipse | en_US |
dc.subject | Framework | en_US |
dc.subject | Internal Interfaces | en_US |
dc.subject | Internal Interfaces Promotion | en_US |
dc.subject | Internal Interfaces Stability | en_US |
dc.subject | Software Evolution | en_US |
dc.title | How Stable Are Eclipse Application Framework Internal Interfaces? | en_US |
dc.type | Article | en_US |