GitHub社区中Pull Request的重复检测

来源 :大连理工大学 | 被引量 : 0次 | 上传用户:henbuxiaxin11
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
GitHub以大众参与的开发模式对软件开发技术产生了深远影响,但由于其项目管理模式高度精简导致项目管理混乱的现象。Pull Request模块为记录用户对代码功能的更改,提交后需人工审核是否接受更改活动。对于关注度较高的项目,提交的大量Pull Request之间存在重复的问题,现有研究表明Pull Request在GitHub重复关系中占比约40%。重复的Pull Request人工检测难度很大,也会延缓软件的开发与维护工作。本研究提出了两种对重复的Pull Request自动检测的方法。首先针对Pull Request的文本说明部分,提出了基于文本显性特征以及隐含主题模型的文本相似度重复检测。使用BM25方法表征文本中的显示特征,由于语言表达的丰富性,本文结合了文本隐含主题特征的LDA算法挖掘文本语义信息。其次针对Pull Request的提交代码部分,提出了基于Java及Python的代码相似度重复检测,使用抽象语法树对代码的语法结构等信息进行特征表示,并对抽象子树进行特征向量构建,为降低向量间线性检索时间,使用局部敏感哈希算法近似最近邻检索,对提交代码中相似代码片段进行统计得到代码的相似度。最后本文提出结合Pull Request的文本相似度及代码相似度模型进行对重复的检测。基于本文提出的方法,对Rails,Angular.js以及Elasticsearch三个项目进行文本显性特征以及隐含主题模型的文本相似度重复检测,该方法相对于现有方法在Recallrate@20上提升了1.36%。基于Java,Python语言,对Scikit-learn以及Elasticsearch两个项目分别进行代码相似度重复检测以及结合文本相似度及代码相似度的重复检测,发现结合文本相似度及代码相似度的重复检测的Recall-rate@20均值为63.63%,相对于现有方法提升了4.49%。
其他文献
光学元件的激光损伤是限制高功率激光器激光能量输出的关键因素之一。对于高功率激光器的建造,光学元件激光诱导损伤的在线检测显得极为重要。目前,元件表面损伤还主要依靠目
地理信息科学已经发展为地理学的分支学科之一,地理信息产业化的势头强劲,至2016年10月,中国手机地图(百度地图、腾讯地图、高德地图等)用户总量达到6.5亿人,已经成为人们生
卫星通信系统通过部署具有信息收发功能的人造卫星可为地面用户提供信息交互服务。因覆盖广、容量大、性能稳健等优点,卫星通信系统近年来备受关注。为满足用户应用需求,提升
选择性激光烧结技术(Selective Laser Sintering,SLS)是众多3D打印技术中较为成熟的一种,与传统加工方式相比,该技术不仅可以根据人为的需求,快速加工出几何形状复杂、性能良
高超声速飞行器为降低结构质量和提高飞行效率,使用了许多薄壁结构。这些结构在飞行过程中经历如噪声载荷、和温度载荷等耦合作用,处于复杂的力学状态,将产生由几何大变形造成的非线性响应,导致结构疲劳寿命大幅降低。在飞行器设计过程中,由于直接威胁到飞行器安全,需要计算结构的非线性响应。在实际工程应用中,传统的非线性响应计算方法需要大量计算资源和存在局限性。本文探讨了模态降阶技术在预测热噪声复合环境下结构非线
光子晶体光纤(Photonic crystal fiber,PCF)具有周期性结构和无截止单模特性,通过改变光纤的结构参数即可实现模场尺寸可调、色散可控等特性,被广泛应用于光场调控以及非线性光
随着网络技术和多媒体技术的快速发展,多媒体已经成为人们日常获取信息最重要的手段之一,而这其中,视频由于集视觉与听觉一体的特性而大受人们喜爱。随着互联网视频数据的急
为了岛礁海域海洋结构物的工程实际应用,首先需要对岛礁周边的风浪流环境特性有深入的了解,以获得合理的设计参数。因此在南海多个岛礁海域布置了测量装置,持续采集风浪流等
随着互联网信息技术的发展,数据成为人们生产活动和社会生活的重要组成部分。由于互联网时代产生了海量的数据,导致其会呈现出高维和多态的现象,因此人们迫切需要寻找一种高
电控空气悬架使用逐渐增加的非线性空气弹簧作为弹性元件,可以使车辆获得良好的平顺性。通过对空气弹簧充放气可以实现车高的调节,在保证车辆通过性的前提下,进一步提升了车辆的高速转向的稳定性,是越野车辆理想的悬架形式。多轴车辆悬架是一个复杂的静不定系统,同时单轮载荷大,结构要求紧凑,对于空气悬架的设计提出了较大挑战。本文针对多轴车辆的参数和使用要求,进行了电控空气悬架的设计,重点解决空气弹簧设计建模、空气