一种基于逻辑回归模型的pull request被合并概率的计算方法技术

技术编号:23787138 阅读:65 留言:0更新日期:2020-04-15 00:30
本发明专利技术为一种基于逻辑回归模型的pull request被合并概率的计算方法:首先,确定PRs复杂性的指标并提取项目中PRs的相关信息;其次,使用提取的数据作为数据集训练逻辑回归模型;最后,使用训练好的逻辑回归模型预测新的PR合并的概率,为贡献者提供一个在评审之前进行改进的机会,以减轻评审者的负担。

A calculation method of the merging probability of pull request based on logistic regression model

【技术实现步骤摘要】
一种基于逻辑回归模型的pullrequest被合并概率的计算方法
本专利技术提出了一种基于逻辑回归模型的pullrequest(PR)被合并概率的计算方法,能够有效地计算PRs被合并的概率。主要解决了当前越来越多的PRs被拒绝影响社区发展的问题,属于统计分析和机器学习领域。
技术介绍
GitHub是一个广泛使用的基于Git版本控制系统的协同软件开发平台。根据官方网站,截至2019年8月,GitHub受到了超过210万企业和组织的信任。除了大多数开源组织,商业公司,如微软和VMware,正在把他们的项目放到GitHub来吸引有才华的开发人员。作为一个社会发展平台,GitHub通过pullrequest(PRs)进行代码管理和多人协作。代码贡献者可以以PR的形式提出代码修改申请,PR由贡献者提交的一个或多个提交组成,项目管理者和其他贡献者可以对PR进行讨论,审查,设置标签,修改,接受,拒绝等操作。最终决定哪些PRs可以合并到代码库中。PR作为是开源社区贡献的主要方式,PR能否被有效地合并,能否更快地合并,成为了开源社区和开发本文档来自技高网...

【技术保护点】
1.一种基于逻辑回归模型的pull request被合并概率的计算方法,其特征在于,该方法分为以下步骤:/n1)获取GitHub上关注星数最多的仓库的已关闭的pull request信息并过滤无关值;/n2)训练逻辑回归模型;/n3)使用训练好的模型对新的pull request合并概率进行预测。/n

【技术特征摘要】
1.一种基于逻辑回归模型的pullrequest被合并概率的计算方法,其特征在于,该方法分为以下步骤:
1)获取GitHub上关注星数最多的仓库的已关闭的pullrequest信息并过滤无关值;
2)训练逻辑回归模型;
3)使用训练好的模型对新的pullrequest合并概率进行预测。


2.根据权利要求1所述的基于逻辑回归模型的pullrequest被合并概率的计算方法,其特征在于,所述步骤1的具体步骤如下:
步骤1.1)使用GitHubAPI提取GitHub代码仓库上关注的星数(stars)最多的项目的所有已经关闭的pullrequest(PR)信息,所述PRs中的信息包括删除的代码行数、增加的代码行数、PR中包含的commit数、删除的文件数、增加的文件数、编辑的文件数、更改的文件数、diffurl、merge状态;
步骤1.2)删除代码更改行数为0的非代码修改的PRs数据;
步骤1.3)根据步骤1.1)得到的删除的代码行数和增加的代码行数相加得到代码更改的总行数;
步骤1.4)根据步骤1.1)得到的diffurl获取diff文本信息,删除和添加的代码前都会有特殊的标记符‘-’和‘+’,连续增删的代码行构成了一个代码块,统计文本包含的代码块数;
步骤1.4.1)使用正则把文本信息中的空格替换为‘’、换行符替换为文本中不存在的特殊字符;
步骤1.4.2)使用正则匹配筛选出文本中所有特殊字符和特殊字符与‘-’或‘+’连接的字符,组成数组;
步骤1.4.3)从数组中第一次出现的特殊字符与‘-’或‘+’连接字符的位置开始截取得到新的数组;
步骤1.4.4)遍历数组删除数组中与前一项相同的项,得到新数组;
步骤1.4.5)遍历数组计算数组中特殊字符的总项数,即更改的代码块数;
步骤1.5)把删除的代码行数、增加的代码行数、更改的代码行数、PR中包含的commit数、删除的文件数、增加的文件数、编辑的文件数、更改的文件数、代码块数存入矩阵作为输入数据;
步骤1.6)merge状态为false的标记为0,...

【专利技术属性】
技术研发人员:张卫丰佟光海周国强张迎周王子元
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1