中文

关于重构活动对演化中客户端使用 API 影响的实证研究

软件工程 2017-10-02 v2

摘要

背景:重构被认为是维护演化软件系统的有效实践。对于软件库,我们研究库开发者如何重构其应用程序编程接口 (API),尤其是当其通过破坏库的 API 而影响客户端用户时。目的:我们的工作旨在了解使用库 API 的客户端如何受到重构活动的影响。我们以可能影响更多库客户端用户的热门库为目标。方法:我们根据库 API 的客户端使用情况(称为客户端使用的 API)来区分它们,以了解 API 破坏在多大程度上与重构相关。我们基于工具的方法允许对八个库(即总计 183 个连续版本)进行大规模研究,涉及约 900 个客户端项目。结果:我们发现库维护者不太可能破坏客户端使用的 API 类。从定量上看,我们发现重构活动破坏了不到 37% 的所有客户端使用的 API。在更定性的分析中,我们展示了两个记录在案的案例,其中非重构 API 破坏性变更是由其他维护问题(即错误修复和新功能)驱动的,并涉及更复杂的重构操作。结论:使用我们的自动化方法,我们发现库开发者不太可能破坏 API,并且倾向于在处理这些维护问题时破坏客户端使用的 API。

关键词

引用

@article{arxiv.1709.09474,
  title  = {An Empirical Study on the Impact of Refactoring Activities on Evolving Client-Used APIs},
  author = {Raula Gaikovina Kula and Ali Ouni and Daniel M. German and Katsuro Inoue},
  journal= {arXiv preprint arXiv:1709.09474},
  year   = {2017}
}

备注

Information and Software Technology Journal