R语言程序包依赖关系与更新情况的实证研究

TP311; 作为一款统计分析和统计制图的优秀工具,R在统计分析和人工智能领域得到了广泛应用,并且拥有丰富的开源生态系统,相关R语言程序包(R包)的数量也在持续增长.R包开发模式的特征,即新开发R包往往通过引入已有的R包来实现功能,导致R包之间的依赖关系非常复杂,甚至出现依赖冲突.而引起此问题的原因除了依赖关系外,还有R包的更新.为了了解现有R包的发展现状,需要对R包的依赖和更新情况进行深入实证研究.但已有关于R的实证研究关注的主要是整个R生态系统,没有专门针对R包的依赖和更新的具体分析.为了弥补这一空缺,基于CRAN与GitHub上的数据对常用R包的依赖关系、包的更新情况、存在的依赖冲突隐患...

Full description

Saved in:
Bibliographic Details
Published in计算机科学 Vol. 51; no. 6; pp. 1 - 11
Main Authors 程弘正, 杨文华
Format Journal Article
LanguageChinese
Published 南京航空航天大学计算机科学与技术学院 南京 211106%南京航空航天大学计算机科学与技术学院 南京 211106 2024
软件新技术与产业化协同创新中心 南京 210023
Subjects
Online AccessGet full text
ISSN1002-137X
DOI10.11896/jsjkx.230200069

Cover

More Information
Summary:TP311; 作为一款统计分析和统计制图的优秀工具,R在统计分析和人工智能领域得到了广泛应用,并且拥有丰富的开源生态系统,相关R语言程序包(R包)的数量也在持续增长.R包开发模式的特征,即新开发R包往往通过引入已有的R包来实现功能,导致R包之间的依赖关系非常复杂,甚至出现依赖冲突.而引起此问题的原因除了依赖关系外,还有R包的更新.为了了解现有R包的发展现状,需要对R包的依赖和更新情况进行深入实证研究.但已有关于R的实证研究关注的主要是整个R生态系统,没有专门针对R包的依赖和更新的具体分析.为了弥补这一空缺,基于CRAN与GitHub上的数据对常用R包的依赖关系、包的更新情况、存在的依赖冲突隐患以及R包的依赖更新情况4方面展开了详细分析.发现R包之间的依赖关系复杂、每个包依赖的包的数量普遍较多但依赖集中于一部分R包,虽然常用R包的更新频率较快,但其中依然存在不少依赖间的冲突(不一致);同时,还对这些R包的依赖冲突进行了检测和分类.实证研究结果能够让R开发者和使用者更加了解R包的发展现状,同时提供了一些可以帮助R包的开发者在开发过程中避免隐患的建议,总结了研究者在R包依赖和更新相关问题上可以进一步探究的方向.
ISSN:1002-137X
DOI:10.11896/jsjkx.230200069