How Stable are Eclipse Application Framework Internal Interfaces?

dc.contributor.authorBusinge, John
dc.contributor.authorKawuma, Simon
dc.contributor.authorOpenja, Moses
dc.contributor.authorBainomugisha, Engineer
dc.contributor.authorSerebrenik, Alexander
dc.date.accessioned2023-01-26T20:19:28Z
dc.date.available2023-01-26T20:19:28Z
dc.date.issued2019
dc.description.abstractEclipse 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.en_US
dc.identifier.citationBusinge, 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.urihttps://ieeexplore.ieee.org/abstract/document/8668018/
dc.identifier.urihttps://nru.uncst.go.ug/handle/123456789/7294
dc.language.isoenen_US
dc.publisherIEEEen_US
dc.subjectEclipseen_US
dc.subjectFrameworken_US
dc.subjectInternal Interfacesen_US
dc.subjectInternal Interfaces Promotionen_US
dc.subjectInternal Interfaces Stabilityen_US
dc.subjectSoftware Evolutionen_US
dc.titleHow Stable are Eclipse Application Framework Internal Interfaces?en_US
dc.typeArticleen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
How Stable are Eclipse Application Framework.pdf
Size:
1.02 MB
Format:
Adobe Portable Document Format
Description:
Article
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: