推荐星级:
- 1
- 2
- 3
- 4
- 5
基于存储库数据挖掘的开源软件成功度量方法
资料介绍
开源软件已广泛应用于各软件领域,例如操作系统、容器等,但目前尚没有一种能够综合度量开源软件的方法.我们在用户兴趣度量和开发参与度量的基础上,提出了一种能够克服度量维度单一的局限性的度量方法.基于DM模型、软件生存力模型等相关文献研究和开源软件存储库数据挖掘,通过对项目过程数据进行聚类、主成分分析、回归分析和对开发过程的思考,本文提出一种基于存储库数据和统计学算法的开源软件成功度度量模型.并通过与用户兴趣度量结果和开发参与度量结果对比分析,证明本文的度量模型能够基于可自动无扰采集的存储库数据,更全面的衡量开源软件项目的成功.度量模型可应用于企业选择优质开源项目、学术研究、智能项目推荐等领域.
部分文件列表
文件名 | 大小 |
基于存储库数据挖掘的开源软件成功度量方法.pdf | 1M |
部分页面预览
(完整内容请下载后查看)12
Vol. 46 No. 12
Dec. 2018
第
期
电
子
学
报
2018
12
ACTA ELECTRONICA SINICA
年
月
基于存储库数据挖掘的开源软件成功
度量方法
1
2
1
3
, , ,
宁德军 叶培根 刘 琴 李 梅
( 1.
,
同济大学软件学院 上海
201210; 2.
,
上海大学通信与信息工程学院 上海
201210;
3.
,
中国科学院上海高等研究院智慧城市研究中心 上海
201210)
:
, 、 ,
开源软件已广泛应用于各软件领域 例如操作系统 容器等 但目前尚没有一种能够综合度量开源软
摘
要
. ,
件的方法 我们在用户兴趣度量和开发参与度量的基础上 提出了一种能够克服度量维度单一的局限性的度量方
.
法 基于
DM
、 , 、
模型 软件生存力模型等相关文献研究和开源软件存储库数据挖掘 通过对项目过程数据进行聚类 主
、 ,
成分分析 回归分析和对开发过程的思考 本文提出一种基于存储库数据和统计学算法的开源软件成功度度量模
. ,
型 并通过与用户兴趣度量结果和开发参与度量结果对比分析 证明本文的度量模型能够基于可自动无扰采集的
, . 、 、
存储库数据 更全面的衡量开源软件项目的成功 度量模型可应用于企业选择优质开源项目 学术研究 智能项目
.
推荐等领域
:
; ; ; ; ;
开源软件 主成分分析 成功度量模型 数据挖掘 量化分析 软件工程
;
DM ;
模型 软件生存力
关键词
模型
:
TP311
:
A
: 0372-2112 ( 2018) 12-2930-06
DOI: 10. 3969 /j. issn. 0372-2112. 2018. 12. 015
中图分类号
电子学报
文献标识码
文章编号
URL: http: / /www. ejournal. org. cn
Open Source Software Success Measurement Method Based on
Mining Software Repository
1
2
1
3
NING De-jun ,YE Pei-gen ,QIN Liu ,MEI Li
( 1. School of Software Engineering,Tongji University,Shanghai 201210,China;
2. School of Communication and Information Engineering,Shanghai University,Shanghai 201210,China;
3. Shanghai Advanced Research Institute,Chinese Academy of Science,Shanghai 201210,China)
Abstract: The open source software ( OSS) is widely used in various software fields,such as operating system,con-
tainer,etc. But there is no method to measure open source software comprehensively. Based on the measurement of user in-
terest and the development of participation metrics,we propose a method that can overcome the single limitation of the met-
ric dimension. Based on DM model,software viability model and other relevant literature research,mining of software reposi-
tory,we consider the OSS development process and propose an OSS success evaluation model through clustering,principal
component analysis and regression analysis. By comparing the metric score of user interest method and development partici-
pation method,the evaluation model can be used to measure the success of OSS projects based on the data collected automat-
ically without interference. The evaluation model can be applied to select high quality open source projects,academic re-
search,intelligent project recommendation,etc.
Key words: open source software; principal component analysis; success measurement model; data mining; quantita-
tive analysis; software engineering; DM model; software viability model
: 2017-11-21;
: 2018-04-11
:
收稿日期
修回日期
基金项目 中国科学院战略性先导科技专项
( No. 17511107303,17511110202) ;
责任编辑 覃怀银
:
( No. XDA06000000) ;
( No. 2016YFB1000805) ;
“
上海市 科技创新行动计划
”
国家重点研发计划项目
( No. 17YF1420500)
上海市扬帆计划
基础研究重点科技项目
2931
12
:
宁德军 基于存储库数据挖掘的开源软件成功度量方法
第
期
1
引言
( OSS)
,
发展迅速 极大地影
上世纪末以来开源软件
,
响了软件行业的市场格局 颠覆了一些经典软件工程
.
理论 开源软件项目并没有传统软件工程项目中显式
,
的组织结构和过程安排 也没有传统软件开发团队的
,
过程成熟度等级 但所开发出的软件却可以与传统商
,
业软件 相 抗 衡 这 引 起 了 学 术 界 和 企 业 界 的 广 泛
[1,2]
.
关注
开源软件的成功有力的驳斥了只有私有化的知识
[3]
.
,
然而 开源软件的失败率
产权能够推动创新的言论
、
软件团队及开发过程 用户参与行为等因素相关
;
[4]
.
,
并且 对开源软件项目的评估也不同于商
是较高的
业软件系统
开源软件的项目状态和推演开源软件项目的未来发展
F
[5]
如果开源软件成功度
是对开源软件开发生
success
.
所以需要一种度量方法能够获知当前
,
态系统进行总体评价的派生度量元 是指开源软件成
, ,
功的程度 那么如果假设成立 则开源软件成功度由开
[6]
,
情况 以便用户选择所需的项目
. DeLone
McLean
和
、 、
源软件开发过程中的团队 开源软件 用户和项目相关
DM
. Polancic
等人提
最早提出了度量信息系统的
模型
.
的各种因素共同决定的 它们之间的关系可以形式化
[7]
[8]
. Rajdeep Grewal et al.
出开源项目质量度量模型
从
( 1) :
地表示为式
.
技术和商业两个角度来分析项目的成功
F
= f( f ,f ,f ,f )
op
( 1)
success
dev
pop
vit
Github
本文试图从
开源社区软件开发演进过程的
,
开源软件成功度的度量 可以通过存储库数据挖掘的
,
数据入手 通过存储库数据挖掘的方法找到一种能够
,
方法给出定量的评价 结果可以是具体的得分
.
、
对开源软件的成功度进行客观量化度量的 简单易行
,
的新方法 从而使能开源软件开发团队快速了解所开
3
模型验证
,
发软件的成功程度和团队状况 明确影响开源软件成
随着开源软件社区的迅速发展和开源社区协作平
,
功的关键因素 指导开源软件的领导者采取 合适的
, ,
台的日益成熟 与传统的软件工程相比 开源软件开发
.
行动
,
过程中形成了庞大的开源社区存储库 这为我们通过
2
项目成功度量概念模型
软件存储库数据挖掘技术了解开源软件开发过程和项
.
目状况提供了丰富的数据资源 本章采用的总体分析
开源软件的协作开发依赖于不同风格和技能的
2
流程如图 所示
:
,
开源软件开发人员 每个开发者采用独立并行的协同
,
开发机制 并将修改结果提交给开源项目的核心团队
[9]
.
1 ,
如图 所示 开源软件
选择最好的代码进入发布
(
开发生态系统概念模型 简称
OSSEM)
主要由开发者
, ,
团队 开发协作平台和过程 开源软件和通过社区获
[10]
.
取并使用软件的用户组成
开发者基于社区并行协
, 、
作开发开源软件 整个软件开发运营过程 交付的代
,
码和工件开放透明 吸引越来越多的用户使用软件并
,
给予反馈 逐步形成闭环螺旋式发展的开源软件生态
.
环境
,
通过文献综述 可以看到几乎所有开源软件度量
3. 1
数据采集过程
本次采集数据中共包含
follower
、 、
模型都关注在开源软件 开源团队 用户参与和项目的
27
.
万个项目的详细数据
1000 ,
人的项目 共得到
、
开发过程 技术环境等方面的因素及其相关性的分析
.
其中通过抓取
数排名前
,
因此 结合开源软件开发生态系统概念模型和团队的
32000
.
条记录 随后通过在这
1000
名开发者的关注
,
软件工程实践经验 本文进行了以下假设
:
约
,
23
.
( 1) H1:
者群体中随机采样 抽取了约
万多个项目 星标数分
布情况如表 所示 可见此次选取的项目可以较好地反
github
影响开源软件成功的因素会以软件生命周
1
.
;
期数据的方式记录在存储库中
( 2) H2:
.
社区中较活跃项目的情况
、
影响开源软件成功与开源软件质量 开源
映出
全部评论(0)