基于文本和补丁信息的bug-fix提交日志识别方法研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:liongliong579
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
理解在软件仓库中执行的维护活动可以帮助软件从业者减少维护成本,做出关于资源分配的决策,从而提高效益。对于大多数软件系统来说,bug是通过软件仓库的问题追踪系统来跟踪的,代码变更是以提交给源代码控制库的形式来合并的。因此,检查软件开发的这些基本工件(新的错误报告或提交)来实时检测bug是很方便的。本文的目标是自动对软件开发过程中的一系列提交进行高精度分类,将提交分类为bug修复相关或与bug修复无关,一般情况下这个任务都是通过关键字或者基于规则来对这些提交的文本进行分类,但这样会有很高的误报率。而基于机器学习的方法虽然一定程度避免了依赖安全专家编写规则的问题,但仍需要靠人工来提取特征。近些年来,深度学习技术在各个领域取得的研究成果为本文提供了方向。本课题通过自然语言处理的相关技术来提取文本和代码段的信息。对于提交的文本,使用预训练模型来为其生成词向量。对于修复的代码段,源代码中的标识符名字(开发人员用来命名类,方法和变量)可以传达出代码的语义并且用来分类,基于这种直觉,本文把更改的代码段作为纯文本文档,并使用文本分类的方法进行处理。接着我们从多个开源的项目中挖掘bug修复模式,为代码生成抽象语法树,通过计算前后版本代码的语法树差异得到编辑脚本,然后与我们挖掘得到的bug修复模式相匹配,最后将匹配结果作为特征送入分类器中。我们比较了多个机器学习分类器,如支持向量机,随机森林和最近邻算法在数据集上的分类效果,发现单一的分类器性能是不够的,所以本课题通过集成模型来集成多个分类器的性能,实验结果表明集成模型能够实现比单一分类器更好的性能。
其他文献
甲状腺是通过分泌甲状腺激素来影响人体新陈代谢等功能的一个内分泌器官,甲状腺结节被认为是甲状腺异常的一种主要临床表征。恶性结节会使得甲状腺激素分泌异常进而对人身体健康产生消极影响,随着超声诊断技术的发展,越来越多的结节会被检出,但超声图像本身具有受噪声影响大、成像质量差等特点,再加上结节区域与正常组织区域又具有对比度低、边界模糊、形状大小变化不一等特点,这都加大了阅片医生的诊断难度,而一旦误诊或漏诊
光学字符识别(Optical Character Recognition,OCR)作为促进办公自动化的一项重要技术应用场景十分广泛,随着近年来支持OCR有监督学习的训练数据爆炸性增长,针对文本检测和识别的OCR技术研究逐渐成为深度学习领域一个前景十分广阔的热门研究方向。本文研究基于深度学习的OCR技术,研究重点是如何在保证OCR过程中文本检测和识别准确性的同时,尽可能地提升模型的推理速度,高效快速
时间依赖图在传统静态图上引入了时间维度,是一种图数据随时间变化的模型。时间依赖图模型能够以更加贴合实际的表达方式来刻画现实中存在的问题,因此有越来越多的研究工作在相关方面展开。本文从时间依赖图模型入手,着手于时间依赖图系统框架的设计与时间依赖图上算法的研究。基于Neo4j图数据库,本文设计并实现了一个能够持久化存储时间依赖图的系统框架TD-Frame。该框架使用Neo4j图数据库作为时间依赖图的存
航空发动机被誉为“工业皇冠上的明珠”,更被认为是飞机的心脏。叶片则是航空发动机核心部件,各级叶片为发动机提供80%以上的推力。叶片在复杂的力学环境下工作会导致叶形发生改变,而叶片叶形的变化会使通过发动机内部的气流相对于设计工况发生改变,从而影响到发动机的稳定性、噪音水平和推力性能等。掌握叶片在工作条件下的变形规律,不管是对于现有航空发动机的安全运行还是对于新型叶片的优化设计都有很大的意义。本课题针
跨媒体内容质量评估的目的是用计算机的方法去衡量人对于跨媒体内容的主观感知。目前的方法对于跨媒体质量的分析分为主观评估和客观评估。客观评估多是以分辨率和帧率评定视频质量,以强度和音调衡量声音,以行文规范判断文本质量。然而新的需求是从跨媒体的深层内容出发,思考其蕴含的价值观和内涵,并能参考大众的反响程度。建立一个跨媒体内容质量评估系统,有助于增强对跨媒体内容深层理解和分析的探索。本文提出了一个跨媒体内
传统的医学图像分割主要靠人工完成,这种方法不仅耗时且不可复现。自动化分割技术虽然可以提高处理效率但是大大降低了处理结果的准确性,特别是在组织边缘和细小分支结构区域。基于深度学习的交互式分割方法可以平衡二者的优缺点,兼顾分割的准确性和高效性,在心脏CTA(Computer Tomography angiography)数据组织分割问题中具有十分重要的意义。虚拟内窥技术可以解决传统医学内窥镜无法无创入
数据科学时代,常常需要利用数据集训练学习算法来完成相关任务。其中,训练使用的数据集往往需要我们前瞻性的进行收集,如果想要模型对不太常见的数据也具有良好的效果,数据集必须包含足够的与这些数据相似的例子。训练数据集对待预测数据的覆盖不足往往会导致预测的不准确,为了提前预见到这些不准确性,本文提出了一种评估多维类别型属性数据集对待预测数据的覆盖程度的方法。本文面向评估数据集对待预测数据覆盖程度这一课题,
事件抽取是指从自然语言文本中抽取其中包含的结构化事件信息的任务。事件抽取任务按照抽取目标是否限定为特定领域的事件,可以分为限定域事件抽取和开放域事件抽取。限定域事件抽取需要先指定抽取的领域,人工预定义该领域的事件模式,并基于此进行该领域事件抽取。开放域事件抽取是指在不限定事件类型及模式的情况下,从文本中检测不限定类型及模式的事件并对事件论元信息进行抽取。限定域事件抽取任务的方法往往存在领域间迁移困
随着软件项目需求的急速增长,在软件设计与实现的过程中难免会存在一些缺陷。当软件项目的使用者以及测试人员,发现程序运行过程中出现与预期结果不一样的情形时,会及时向缺陷追踪管理系统报告自己发现的缺陷。但对于大型开源软件项目而言,缺陷追踪管理系统每天都会收到大量的缺陷报告。如果依靠开发人员手动检查并寻找相关源代码所在位置,是一件极其耗费时间与精力的事,因此将缺陷报告中的缺陷自动定位到相关源代码就显得至关
随着当今技术的快速发展以及数据产生方式的多样化,人类所拥有的数据规模日趋庞大,海量数据带来了客观的数字价值,同时也在数据质量方面带来了更多的挑战。时间序列数据是伴随物联网的飞速发展产生的数据,工业界中的时间序列数据往往存在数据异常、数据乱序、属性值缺失、属性值错位等问题,其中属性值错位问题相关的研究比较少,但该问题在工业场景中十分常见,因此研究该问题具有重要的意义。本文从面向实际的数据流场景出发,