【技术实现步骤摘要】
一种基于随机森林模型的StackOverflow问答更新情况预测方法
[0001]本专利技术属于计算机
,尤其是软件质量保障领域
。
本专利技术提供了一种面向软件开发的
、
基于机器学习模型的
StackOverflow
问答更新情况的预测方法,帮助开发者修复缺陷并控制软件产品的质量
。
技术介绍
[0002]软件项目不仅由源代码组成,还包括了注释
、
说明文档
、
编译系统等
。
代码实体之间也往往彼此相关,即开发者在修改代码时往往要共同更新大量有联系的实体,在大项目中尤为明显
。
开发者们可以根据共同演化信息来将代码重模块化
(remodularization)
,且这种共同演化的关系是一种逻辑上的
、
潜在的依赖,无法直接从源代码中理解到
。
还有研究者定义了共同演化图
(co
‑
changegraph)
,即用实体的集合作为点
、
实体的共同演化关系作为边的无向图
。
图中的边根据共同演化的次数赋予了权重,之后用聚类算法将频繁共同演化的实体分在一起
。
[0003]为了利用共同演化信息协助开发,开发者提出了一些预测模型
。
对
StackOverflow
问答的文本信息使用
LDA
模型,可以将
Sta ...
【技术保护点】
【技术特征摘要】
1.
一种基于随机森林模型的
StackOverflow
问答更新情况预测方法,其特征是一个预测模型,用于预测
StackOverflow
问答更新情况,主要包括以下流程:
1)
从
SOTorrent
获取引用了
StackOverflow
问答的
GitHub
项目信息;
2)
获取
GitHub
项目中的引用注释,提取被引用的
StackOverflow
问答的度量;
3)
根据引用后的问答更新情况生成样例集;
4)
使用机器学习算法建立
StackOverflow
问答更新情况的预测模型;
5)
当开发者引用
StackOverflow
问答时,使用机器学习模型预测该问答未来是否需要更新或有更好的答案出现
。2.
根据权利要求2所述的基于随机森林模型的
StackOverflow
问答更新情况预测方法,其特征在于在公开数据库
SOTorrent
上找到引用了
StackOverflow
问答的项目仓库,使用
gitclone
指令将远程软件项目的源程序代码拷贝到本地;定义1:
SOTorrent
是一个公开数据集,包含了
StackOverflow
问答的历史编辑记录,代码片段信息和
GitHub
项目对
StackOverflow
问答的引用情况;定义2:
github
是一个面向开源及私有软件项目的托管平台,支持
git
作为唯一的版本库格式进行托管;定义3:
git
是一个分布式版本控制系统;定义4:
git clone
命令通过
git
将远程软件项目源程序代码拷贝到本地,在本地目录下生成一份远程项目源代码的拷贝
。3.
根据权利要求2所述的基于随机森林模型的
StackOverflow
问答更新情况预测方法,其特征在于对
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。