-
题名面向群体协作开发的开源软件峭壁分析
被引量:1
- 1
-
-
作者
何鹏
喻绿君
-
机构
湖北大学计算机与信息工程学院
应用数学湖北省重点实验室
-
出处
《计算机科学》
CSCD
北大核心
2020年第6期51-58,共8页
-
基金
国家重点研发计划(2018YFB1003801)
国家自然科学基金项目(61902114)
+1 种基金
湖北省教育厅青年人才项目(Q20171008)
应用数学湖北省重点实验室开放基金(HBAM201901)。
-
文摘
开源软件项目因门槛低、自由度高,在开发过程中存在进度缓慢、效率低下和项目质量偏低等问题;同时,软件峭壁(Software Cliff Wall)作为一种判定项目鲁棒性的依据,表现为软件开发过程中在短时间内完成远超过常规增量开发的一种代码贡献行为,是软件演化过程中可持续发展的一种潜在威胁。为了深入研究开源项目的开发过程,更准确地刻画软件演化,从而提高软件开发效率,分析软件峭壁的成因是一种行之有效的方法。实验以GitHub上9个时间跨度至少有5年的开源软件项目为研究对象,分别以月份和季度为周期,基于150000多个commits上开发者的关注与评论信息构建开发者合作网络(Deve-loper Collaboration Networks,DCN),将代码行数超过1万行的单次commit视为软件峭壁,并从网络规模、网络结构、网络质量3个方面,利用节点数、连边数、节点更新率、模块度、平均路径长度、平均度、节点入度指数、节点出度均值、多样性这9个度量指标来分析软件开发过程中DCN与软件峭壁的关系。研究结果表明:1)当开发团队规模偏小,且成员更新幅度较大时,容易形成软件峭壁;2)保持开发者之间良好的“小世界”特性,有助于避免峭壁的产生;3)以季度为周期来分析软件开发过程中DCN与软件峭壁的关系更为合适,且开发团队成员的组织来源多样化也会在一定程度上促进软件峭壁的产生。
-
关键词
群体协作开发
开发者合作网络
软件峭壁
软件演化
开源软件
-
Keywords
Group collective development
Developer collaboration network
Software cliff walls
Software evolution
Open source software
-
分类号
TP301
[自动化与计算机技术—计算机系统结构]
-