原文作者:Phuong T.Nguyen,JuriDi Rocco,RiccardoRubei,ClaudioDi Sipio,DavideDi Ruscio
原文标题:Recommending Third-party Library Updates with LSTM Neural Networks
原文来源:IIR 2021(Proceedings of the 11th Italian Information Retrieval Workshop 2021)
原文链接:http://ceur-ws.org/Vol-2947/paper7.pdf
软件项目的生命周期中,开发人员经常需要将第三方库(TPLs)从旧版本更新为新版本。但是更新版本的时候,通常会面临版本冲突问题。本文提出的DeepLib方法,能够为第三方库的时候提供升级计划。对迁移历史进行挖掘,训练深度神经网络并进行预测。
Recommending Third-party Library Updates with LSTM Neural Networks
通常开发人员非常抗拒升级TPLs,原因是一旦选择的TPL版本与已有的TPL版本冲突或者不兼容,会产生不可避免的破坏。正确选择一个TPL的版本需要对版本的文档非常熟悉。
通过分析挖掘项目的迁移历史,作者构建了包含库及其版本的矩阵,这些库及其版本按时间顺序提供给推荐系统。然后使用LSTM预测版本。DeepLib输出给开发人员想要升级的库的版本。由于之前没有类似的研究,作者没有选择相关的baseline,而是在Maven
Central Repository的一个数据集上做了实验。
DeepLib模型架构
模型整体架构如下图所示。
模型输入为一个版本集,输出为每个library的