【技术实现步骤摘要】
一种基于文件路径分析的代码审查者推荐方法
本专利技术属于计算机
,尤其指代一种基于文件路径分析的代码审查者推荐方法。
技术介绍
在开发周期较长的大型项目中,无论是商业项目还是开源项目,执行到位的代码审查是保证软件代码质量的关键所在。举例来说,在Mozilla项目中,任何一次的代码提交都需要被两个代码审查者审查。但这带来的好处就是在代码在合并进入代码仓库之前就可以检测出不少的bug,这样一来也就减轻后期测试的负担和修复的成本,因为bug发现的越早,涉及到的模块理论上也就越少,解决的成本也就越低。而在代码审查中,审查者很难同时处理多个任务,从一个问题空间到另一个空间的上下文切换是一个挑战,会带来额外的开销,所以分配一个合适的代码审查者是相当困难的,因为如果分配了错误的审查者,或许他的知识背景并不适合这个项目,那么他对这个项目架构组织不熟悉,导致的结果就是这次审查会非常的耗时而且会有几率让bug溜进代码仓库。在商业项目中,公司的内部有硬性的组织结构划分,在开发过程中,往往是几人到十几人作为一个团队来开发一个项目,做同行代码评审时,往往会依据模块来划分,内部互相做代 ...
【技术保护点】
1.一种基于文件路径分析的代码审查者推荐方法,其特征在于,包括步骤如下:(1)构建文件树:根据历史数据中的代码文件路径,构建出该代码文件所属整个项目的文件树形结构,即文件树;(2)构建经验树:根据候选代码审查者的历史代码审查记录计算出候选代码审查者对文件树中各个代码文件的经验值,将候选代码审查者对文件树中各个代码文件的经验值及候选代码审查者ID配置至文件树对应节点上,从而得到对应的经验树;(3)计算候选代码审查者经验值:利用新提交更改的代码文件集中的文件路径遍历经验树,取代码文件集遍历得到的候选代码审查者及其经验值,将相同ID的候选代码审查者的经验值相累加,以得到候选代码审 ...
【技术特征摘要】
1.一种基于文件路径分析的代码审查者推荐方法,其特征在于,包括步骤如下:(1)构建文件树:根据历史数据中的代码文件路径,构建出该代码文件所属整个项目的文件树形结构,即文件树;(2)构建经验树:根据候选代码审查者的历史代码审查记录计算出候选代码审查者对文件树中各个代码文件的经验值,将候选代码审查者对文件树中各个代码文件的经验值及候选代码审查者ID配置至文件树对应节点上,从而得到对应的经验树;(3)计算候选代码审查者经验值:利用新提交更改的代码文件集中的文件路径遍历经验树,取代码文件集遍历得到的候选代码审查者及其经验值,将相同ID的候选代码审查者的经验值相累加,以得到候选代码审查者对于该提交更改的最终经验值;(4)对候选代码审查者进行排序:利用上述得到的候选代码审查者的最终经验值对其进行排序,再根据实际应用情况,取所得序列中,排名前1,前3,前5或前10的对应候选代码审查者作为最后推荐的代码审查者。2.根据权利要求1所述的基于文件路径分析的代码审查者推荐方法,其特征在于,所述步骤(2)中候选代码审查者的历史代码审查记录具体包括:对代码文件的审查次数、审查代码文件的最后审查时间、审查代码文件之间的关联性、审查代码文件与目标代码文件的距离。3.根据权利要求1所述的基于文件路径分析的代码审查者推荐方法,其特征在于,所述步骤(2)中具体包括:代码审查者对于文件经验值的表示方法如下:Exp(r,n)=k*(reviewTime/base)/Dis(n,f)式中,r为一个代码审查者的编号,n为文件树中对应文件f路径上的一个节点,相当于文件路径中的文件夹或者文件,k为固定常...
【专利技术属性】
技术研发人员:周宇,苏彦颀,刘健,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。