首页> 外文会议>IEEE International Conference on Software Analysis, Evolution, and Reengineering >How Stable Are Eclipse Application Framework Internal Interfaces?
【24h】

How Stable Are Eclipse Application Framework Internal Interfaces?

机译:Eclipse Application Framework内部接口的稳定性如何?

获取原文

摘要

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 $ge 56$%, a recall of $ge 96$% and an AUC of $ge 92$% and an F-measure of $ge 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.
机译:Eclipse框架提供了两个接口:稳定接口(API)和不稳定接口(非API)。尽管不鼓励和不支持非API,但使用它们的情况并不少见。先前的研究表明,与使用新引入的非API的应用程序相比,使用相对较旧的非API的应用程序更可能与新版本兼容。非API的增长率几乎是API的两倍;并且非API向API的推广速度很慢,因为API提供者无法协助您识别公共接口候选对象。基于这些发现,我们的主要目的是对整个非API人口(2,380K)进行实证研究,以找到长期稳定的非API。我们采用跨项目克隆检测来确定给定Eclipse版本中引入的非API是否在后续版本中保持稳定。我们提供了327K个稳定的非API方法的数据集,两个Eclipse接口提供程序都可以使用它们作为升级的候选对象。我们没有推广过于细粒度的非API,而是总结了给定类中的非API方法组,这些类稳定在一起,并提供了可能提升候选者的类级非API。我们已经表明,可以在随后的Eclipse版本中以$ \ ge 56 $ \%的精度,$ \ ge 96 $ \%的召回率和$ \ ge 92的AUC来预测非API的稳定性。 $ \%和$ \ ge 81 $ \%的F度量。我们还表明,非API方法中方法长度的度量和方法参数的数量是连续Eclipse版本中非API稳定性的很好的预测指标。提供的结果可帮助API提供者先验估计执行促销可能涉及的工作量。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号