基于深度学习的代码审查研究

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:ZWH815117176
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码审查(Code Review),又称为代码评阅,是指在软件开发过程中,对软件源代码进行系统化地审查,其目的是找出及修正在软件开发初期未发现的错误,提高软件质量和开发者的技术。在软件开发过程中,代码审查被认为是软件质量的重要保障机制,只有通过审查的代码才会被提交到代码库中。在代码审查过程中,项目管理人员根据个人经验或以广播的形式邀请其他开发人员作为代码审查人。然后,代码审查人通过阅读代码,检查代码是否符合规范,并提交审查报告。在现有的代码审查过程中,存在两个问题:一方面,代码审查人的选择方式效率低,且缺乏准确性。另一方面,审查人反馈的代码审查意见中包含大量的无意义信息,缺乏有效性的评估分析。本文针对代码审查过程中存在的问题,分别从代码审查人分配和代码审查意见有效性评估进行了研究,并在真实数据集下进行实验以验证本文提出方法的有效性。本文的创新点和主要工作如下:1.针对软件开发过程中代码审查人分配效率低和不准确的问题,本文提出了一种基于深度学习卷积神经网络和长短期记忆网络的代码审查人推荐方法。该方法使用混合网络从代码提交产生的过程数据和代码差异数据中提取与代码审查人相关的高层抽象特征,以构建代码审查人推荐模型。其中,在代码变更数据分析过程中,本文使用基于抽象语法树的方法,提取细粒度的代码差异信息。2.针对软件开发过程中代码审查意见包含大量无意义信息的问题,本文根据代码提交过程中产生的相关数据和修改意见,提出了一种基于长短期记忆网络的代码审查意见有效性评估模型。该模型从代码审查意见中提取与审查意见有效性相关的高层抽象特征来构建有效性评估模型,以实现对代码审查意见的有效性分析。3.为验证本文提出方法的有效性,本文选取了Eclipse开源社区的项目作为实验对象。通过将本文提出的方法和现有的深度学习方法进行对比后发现,本文提出的代码审查人分配方法有着更好的效果,其平均准确率达到84.5%,单个项目准确率最高达到92.3%。除此之外,代码审查意见有效性评估模型的平均准确率达到88.4%,实验证明该评估模型可有效帮助开发人员准确地评估代码审查意见的有效性,从而达到规范编写审查意见和提高代码审查质量的目的。
其他文献
近年来,我国农村经济有了很大发展,农村面貌有了明显改观,但仍有部分农村贫困群众居住在危房里。改善住房条件,成为贫困群众的热切渴盼和强烈愿望。实施农村危房改造政策,是保障农民住房安全的迫切需要,也是惠农政策的又一重大举措,充分体现了党和政府对农村困难群众的关怀。2008年5月,农村危房改造政策在贵州省试点成功后,在全国逐渐全面开展,2012年在全国农村地区实现了全覆盖。本文以Y县农村危房改造政策执行
液位控制在钢铁、石油化工、食品灌装、制药、电站等多个行业中应用极为普及,是工业自动化的一个重要的组成部分。四容互联水箱液位高度控制系统是一类多输入多输出的控制对象,具有非线性、时变性、大惯性、迟滞性及耦合等特性,作为大学自动控制原理实验室的实验对象,为开展实验设计提供了良好的环境。对其进行深入细致的数学模型构建、控制方案的设计可为进一步实验装置和实验方案的设计提供基础。本文基于MIMO多输入多输出
由于全球能源紧张和环境恶化,混合动力发动机的开发已成为近些年应对能源紧缺和环境危机的主要技术方案之一。相比于传统的奥拓循环,米勒循环有着泵气损失小,有效热效率高的优点,因此成为混合动力电动汽车一种重要的热力循环。本文在国家重点研发计划项目课题“混合动力发动机整机设计与集成开发”(课题编号:2017YFB0103404)支持下,对米勒循环发动机EGR系统与增压系统进行集成优化匹配研究,在保证排放达标
随着国内经济水平的增长与人民生活质量的提升,人类的膳食结构也发生了很大的改变,因此新的疾病也开始不断地出现,这促使了制药企业对新药品的研发,新的药品开始不断的问世。因中国近些年来人口老龄化日益严重及现代膳食结构改变,糖尿病病例普遍上升。2018年,中国糖尿病协会曾做过统计,目前在中国的糖尿病患者已经有1亿多人,且这个数值还在继续增加。随着糖尿病人的增加,糖尿病的有关药物市场需求变大,越来越多的医药
现如今传统的供应链管理模式已经不能满足新的动态市场需求,改进的重点应该转移到整体的信息流、物流和资金流上,而信息共享可以使整体供应链的核心竞争力都加强,国内外的学者在这方面的研究大都从某个单一的角度研究信息共享的技术层面或激励措施等,缺乏系统性的研究。本文为了研究信息共享在供应链整体和个体的利益最大化中的价值、实施阻力以及有效的激励机制,在相关理论和文献综述的基础上加以创新。针对供应链中信息不对称
随着移动应用开发周期的不断缩短,如何提升移动应用质量保障的效率成为测试界的一大难题。一方面,部分公司将测试任务派发给志愿者进行人工测试。然而,志愿者的报告水平参差不齐,真正有用的“用户操作流程”这一过程本身,通常会被忽视。另一方面,一部分测试人员意图开发自动化测试工具以减少测试上人力资源与时间资源的消耗。但是,由于工具缺少人类拥有的测试知识,它们的实际效果仍然无法赶超人工测试。如果将包含人类测试知
社会拥挤作为一种现象和营销情景,近年来再次受到很多营销学者的关注。社会拥挤对个体的消费行为产生着潜移默化的影响,目前已有一些研究发现其并非百害无一利,也可带来一些积极效果。本文通过观察现实生活,发现很多消费者在经历拥挤后会进行自我赠予式消费。许多企业和商家也会使用一些让消费者犒劳自己的广告语,譬如“爱自己,就购了”、“一颗珠宝,奖赏自己”等。基于对该现象的观察和理论研究的推理,本研究以社会拥挤为切
随着新一代智能技术的快速发展、普及和渗透,自动驾驶车辆将在未来的智慧交通体系中扮演重要的角色。但由于自动驾驶车辆现阶段的技术瓶颈和单车智能存在的固有问题,其在道路交通网络中的运行安全性正引起广泛忧虑。为保障具有自动驾驶车辆的道路交通环境的安全性,并实现对自动驾驶车辆的整体化精准化组织调度,本文在充分借鉴铁路列车运行控制思想的基础上提出了虚拟轨道理论,为道路交通场景下规模化自动驾驶车辆的管控创造条件
对于机构投资者持股对企业创新活动的影响,以往文献大多持两种观点,第一种为“监督者论”,认为机构投资者能够给上市公司带去先进的管理经验并实施监督以降低管理层机会主义行为,从而促进企业创新。而另一种则为“短视论”,认为机构投资者交易频繁,关注短期利润,会刺激公司管理层的短视化行为,从而抑制企业创新。然而机构投资者的交易风格不同决定了其平均持仓时间的不同,对企业的创新活动的影响也不同,因而不能对所有机构
忙碌是现代消费者最普遍的状态之一,同时越来越多的品牌也在广告中使用了忙碌元素。以往关于忙碌对消费者决策的影响的研究,主要是从时间压力的角度进行探讨,而缺乏关注消费者对忙碌的主观感受会对消费者决策产生怎样的影响。本研究从主观忙碌感的角度出发,以消费决策中常见的折中现象为突破口,通过一个预实验和五个正式实验探讨了消费者主观忙碌感对折中效应的影响,并探讨了它的解释机制及边界条件。实验一的结果表明,当消费