In view of the one-sidedness of project popularity assessment by exploring defect reports and feature reports separately in existing studies, the present invention provides a method of project popularity analysis based on mixed-effect linear regression model, which collects project data from GitHub, and then uses statistical analysis and regression modeling to give. The relationship between the number of defect reports and the number of feature reports in the project and the project popularity is analyzed. The relationship between the improvement of project popularity and defect reports and feature reports is analyzed by the difference of influencing factors of project popularity between defect reports and feature reports. Descriptive diversity is analyzed in four dimensions to find out the differences between defect reports and feature reports in descriptive diversity. By analyzing the difference between the number of defect reports and the number of feature reports in the project, the invention can comprehensively study the project popularity and comprehensively evaluate the project popularity.
【技术实现步骤摘要】
基于混合效应线性回归模型的项目流行度分析方法
本专利技术属于计算机开源软件分析领域,尤其是一种项目开发过程中缺陷报告(bugissue)和特征报告(featureissue)对项目流行度影响的分析方法。
技术介绍
软件开发是一个复杂过程,包含很多步骤和相关开发人员。软件开发过程中通常会出现代码缺陷(bug),或者提出新的功能(feature),所以,缺陷报告(bugissue)和特征报告(featureissue)是软件项目发展过程中两个非常重要的因素。有不同目标和需求的项目中bugissue和featureissue的数量会有所不同,bugissue和featureissue的数量差别会对项目开发产生一定的影响,比如项目的流行度。现有研究主要是分别探索bugissue和featureissue,对项目流行度的判断存在片面性。GitHub是一个拥有数以亿计用户的开源代码托管网站。它允许开发人员创建和管理项目。GitHub包含数以亿计的软件项目信息。GitHub提供了一些特征比如花(followers)、种子(feeds)、网络图(networkgraph)和报告(issue)等,这些可以帮助开发者更好地管理代码仓库。GitHub的issue会有很多种类的标签,GitHub也没有提供缺陷标签和特征标签的具体解决和区分。通过检查issue的标签种类,可以自动识别出bugissue和featureissue。GitHub项目可以通过RESTAPIs进行检索,为各种应用领域(比如游戏软件,web应用程序,操作系统等)提供了各种类型的项目。项目中的编程语言也是风格百 ...
【技术保护点】
1.基于混合效应线性回归模型的项目流行度分析方法,其特征在于,包括以下步骤:第一步,从GitHub上收集项目数据建立数据集;具体流程如下:1.1 从GitHub中随机选取F个项目,F为自然数,根据结果精确度需要来设置F值的大小;1.2 选择项目中的数据,方法是:选取所述F个项目中的所有issue,记issue的数量为S,S为自然数,然后统计S个issue的统计数据;第二步,构造混合效应线性回归模型,构造方法如下:2.1 定义混合效应线性回归模型的因变量和自变量:·nStars:一个项目的点赞的总数目;·AVG.timeLatency_bug:项目中bug issue即缺陷报告的平均解决时间,单位是分钟;·AVG.timeLatency_feature:项目中feature issue即特征报告的平均解决时间,单位是分钟;·AVG.comments_bug:项目中bug issue的平均评论数量;·AVG.comments_feature:项目中feature issue的平均评论数量;·nIssueBef:在这个issue开始前3个月项目产生的issue数量;·nMembers:项目成 ...
【技术特征摘要】
2018.04.23 CN 20181036908821.基于混合效应线性回归模型的项目流行度分析方法,其特征在于,包括以下步骤:第一步,从GitHub上收集项目数据建立数据集;具体流程如下:1.1从GitHub中随机选取F个项目,F为自然数,根据结果精确度需要来设置F值的大小;1.2选择项目中的数据,方法是:选取所述F个项目中的所有issue,记issue的数量为S,S为自然数,然后统计S个issue的统计数据;第二步,构造混合效应线性回归模型,构造方法如下:2.1定义混合效应线性回归模型的因变量和自变量:·nStars:一个项目的点赞的总数目;·AVG.timeLatency_bug:项目中bugissue即缺陷报告的平均解决时间,单位是分钟;·AVG.timeLatency_feature:项目中featureissue即特征报告的平均解决时间,单位是分钟;·AVG.comments_bug:项目中bugissue的平均评论数量;·AVG.comments_feature:项目中featureissue的平均评论数量;·nIssueBef:在这个issue开始前3个月项目产生的issue数量;·nMembers:项目成员的总数量;·hasAssignee:二进制,如果该issue有至少一个提交者,则值为1;·textLen:issue文本中的单词总数量;·issueType=bug:issue类型为bugissue;·issueType=feature:issue类型为featureissue;2.2使用GitHub官方提供的应用程序编程接口API获取步骤2.1定义的混合效应线性回归模型的因变量和自变量数据;2.3用R语言中的lmer包对步骤2.2获取的混合效应线性回归模型的因变量和自变量数据构造混合效应线性回归模型,得到model模型;第三步,对model模型进行方差分析,得到多元回归分析结果,计算得出项目中bugissue数量和featureissue数量的方差贡献率,即项目流行度影响度;如果bugissue数量的方差贡献率>featureissue数量的方差贡献率,说明项目中bugissue数量对项目流行度的影响程度更大;否则,说明featureissue数量对项目流行度的影响程度更大。2.如权利要求1所述的基于混合效应线性回归模型的项目流行度分析方法,其特征在于,所述步骤1.1...
【专利技术属性】
技术研发人员:常俊胜,胡东阳,王涛,余跃,王怀民,尹刚,李耀宗,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。