论文标题

提供第三方库的升级计划:使用迁移图的推荐系统

Providing Upgrade Plans for Third-party Libraries: A Recommender System using Migration Graphs

论文作者

Rubei, Riccardo, Di Ruscio, Davide, Di Sipio, Claudio, Di Rocco, Juri, Nguyen, Phuong T.

论文摘要

在开发软件项目期间,开发人员通常需要升级第三方库(TPLS),旨在通过使用的库提供的最新功能保持其代码的最新状态。在大多数情况下,升级使用的TPL是一项复杂且容易出错的活动,必须仔细执行,以限制依赖于库升级的软件项目的连锁反应。在本文中,我们提出Evoplan作为一种新颖的方法,以将不同的升级计划推荐给出,并将其作为输入。特别是,在可能遵循的不同路径中,将当前的库版本升级到所需的更新曲目,Evoplan能够建议该计划,该计划可能可以最大程度地减少将客户端从图书馆的当前版本迁移到目标的计划所需的努力。该方法已在策划的数据集上使用信息检索中使用的常规指标进行评估,即精度,召回和F量。实验结果表明,考虑到计划规范中的两个不同标准,即迁移路径的普及以及GitHub的开放和封闭问题的数量,Evoplan获得了令人鼓舞的预测绩效,对于已经遵循推荐迁移路径的项目。

During the development of a software project, developers often need to upgrade third-party libraries (TPLs), aiming to keep their code up-to-date with the newest functionalities offered by the used libraries. In most cases, upgrading used TPLs is a complex and error-prone activity that must be carefully carried out to limit the ripple effects on the software project that depends on the libraries being upgraded. In this paper, we propose EvoPlan as a novel approach to the recommendation of different upgrade plans given a pair of library-version as input. In particular, among the different paths that can be possibly followed to upgrade the current library version to the desired updated one, EvoPlan is able to suggest the plan that can potentially minimize the efforts being needed to migrate the code of the clients from the library's current release to the target one. The approach has been evaluated on a curated dataset using conventional metrics used in Information Retrieval, i.e., precision, recall, and F-measure. The experimental results show that EvoPlan obtains an encouraging prediction performance considering two different criteria in the plan specification, i.e., the popularity of migration paths and the number of open and closed issues in GitHub for those projects that have already followed the recommended migration paths.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源