当前位置:主页 > 管理论文 > 社区管理论文 >

基于特征提取的开源社区Fork摘要自动生成方法

发布时间:2024-06-11 21:50
  当前,基于P/R的分布式协同开发已经成为开源社区中的主导软件开发方式。开发者通过Fork复制软件项目的版本库,创建自身分支,并在新建分支中进行独立开发。由于P/R协同开发模型具有开放性、透明性和并行化等特征,开发人员在Fork项目时难以掌握项目的Fork概况,不知道其他开发人员是否已通过Fork开展相同或类似的开发工作,从而容易产生重复性的贡献和冗余性开发。针对这个问题,提出一种Fork摘要的自动生成方法以帮助项目管理者加强项目管控,避免冗余贡献,增强合作交流。该方法首先爬取开源社区中具有Feature和Bug标签信息的Issue数据,采用随机森林方法训练一个分类器模型,以对Fork特征进行分类;随后收集Fork分支的软件开发活动数据,采用TextRank算法生成Fork详细信息以解释Fork的主要目的;最后设计了一组组合规则及相应的算法来整合Fork的类别、特征和其他信息,以形成完整的Fork摘要。为了检验所提方法在指导分布式协同开发方面的有效性,在Github上进行了30组人工测试和60组实际案例测试。结果表明,所提方法生成的Fork摘要的准确率达到67.2%,实验中76%的项目管...

【文章页数】:9 页

【部分图文】:

图3Fork摘要自动生成方法的框架

图3Fork摘要自动生成方法的框架

Fork摘要自动生成方法的框架如图3所示。首先,从Github的项目历史数据中获取带有功能标签的Issue数据,用于训练分类器模型。然后,当有新的Commit输入时,提取Commit数据并将其分为两部分使用。将一部分数据放入分类器模型进行预测,得到Commit特征;用另一部分数据....


图2Fork中Commit和upstream的历史记录

图2Fork中Commit和upstream的历史记录

Fork和Commit的关系如图2所示,其中节点是Commit,边是Commit与父类的关系,合并的Commit有多个父类关系,虚线代表未来计划。以图2为例进行说明:有一个项目的维护者计划从当前的Fork点开启一段包含4个功能的开发分支,并用Issue的方式来实现。开发者A在Fo....


图4合成Fork摘要的框架

图4合成Fork摘要的框架

Fork由Commit的多个区段组成,Fork摘要也由多个Commit摘要组成。因此,我们分析得到的是Commit摘要集,将其集成到最终的Fork摘要中[27]。生成Fork摘要的框架如图4所示。首先,收集Fork中的所有Commit摘要进行统计分析,得到feature,bug和....


图5Fork摘要准确度测试

图5Fork摘要准确度测试

通过收集实际测试数据ConAcc,ConInt和StaFlu,可以计算出FeaPre和Max_num_commit。然后,对于每组数据,通过30组实验得到最终的Acc_rate,如图5所示。可以看出,A组Fork摘要的准确率最低为0.383,最高为0.908,平均准确率为0.6....



本文编号:3992767

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/shequguanli/3992767.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户a76f1***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com