缺陷定位软件库挖掘:修正向量空间模型与预训练词嵌入的比较分析

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:hzau1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件仓库挖掘领域可以分析软件仓库中的数据以便促进软件的开发过程。虽然版本控制系统、缺陷跟踪系统、通信档案、设计要求和文档中存在大量数据,但是由于其高度非结构化性质,研究人员在将其用于分析时仍面临挑战。从事软件仓库挖掘的人员试图解决的任务之一是缺陷定位。定位源代码中的缺陷是很困难的。众所周知,手动缺陷定位的过程是乏味且困难的,因此开发人员会花费大量的时间在这上。缺陷定位的目的在于能够基于缺陷报告自动识别有缺陷的源代码文件。即使有大量的自动化技术,该领域尚未充分发挥其潜力并实现商业化。因此,自动缺陷定位仍然是一个悬而未决的问题,研究团体对此表现出了极大的兴趣。随着最近自然语言处理领域的发展,许多用于将单词嵌入向量中的模型已经被提出。它们是基于分布假设,即单词含义的相似度由它们在向量空间中的相似度表示。这种模型允许我们通过观察单词向量表示之间的距离来度量单词之间的语义相似性。本文结合信息检索模型,探讨了词嵌入预训练模型在缺陷定位中的有效性。通过使用不同的预处理技术,提出的模型由检索与所分析的缺陷报告相关的源代码文件的排序列表的能力进行评估。缺陷定位能够处理具有非结构化性质的数据,如缺陷报告、源代码注释和标识符,源代码文件和缺陷报告的预处理对排序结果有很大影响。我们的主要观点是,通过从源代码文件中提取结构字段(通过解析它们的抽象语法树来实现)是有可能实现更好的缺陷定位。本文使用的数据集包括从Bugzilla检索到的缺陷报告和用Java编写的源代码。Java代码使我们能够使用抽象语法树解析器从中只检索结构字段的子集。我们做了两组实验:第一组是利用源代码文件的全部内容进行定位,第二组是解析源代码的抽象语法树,只提取几个结构字段,如类名、变量名、方法名。缺陷定位处理具有非结构化性质的数据,如缺陷报告、源代码注释和标识符,应用于源代码文件和缺陷报告的预处理方法对排名结果有很大影响。通过使用不同的预处理技术,评估了所提出模型的检索与分析和缺陷报告相关的排序源代码文件列表的能力。我们的关键见解是,通过解析源代码文件的抽象语法树,从源代码文件中提取结构字段,可以实现更好的错误定位。
其他文献
模拟广播数字化是必然趋势。目前国内存在中国数字音频广播(Digital Audio Broadcast,DAB)和中国数字广播(China Digital Radio,CDR)两个行业标准,二者互有优劣,可能会长期共
Markov跳跃系统作为一类特殊的切换系统,由于能够很好地描述工业生产过程中各类复杂实际系统,受到了人们的越来越多的关注。此外,实际生活中的不确定性,外界干扰通常会对系统
准确的网络流量分类在网络安全领域中至关重要,有很多应用程序使用动态端口和加密算法来规避检测,而诸如基于端口和基于载荷的分类方式存在很大的不足。后续又出现了将机器学
胞外组蛋白(也称为循环组蛋白)是细胞在损伤、压力或死亡状态下释放的一种具有细胞毒性的物质,在脓毒症、类风湿性关节炎、急性肺损伤等多种疾病的发生发展中起关键作用。但
大规模城市风场研究在城市环境定量评估方面起着重要作用,有助于解决城市大气污染物扩散、行人风舒适度、城市热岛效应以及城市自然通风等问题,是城市微气候研究的热点问题之
异常检测旨在发现与大多数数据模式不匹配的实例。对于传统的时间序列异常检测算法而言,由于数据具有高维特性,在降维的过程中经常丢失一部分信息,造成检测错误。对于近年较
近年来,深度学习模型在许多领域都取得了卓越成果,这其中的关键是大规模的有标注数据集。但实际上大规模数据集很难拥有完善的数据标注。那么如何利用小样本数据集来充分训练
流体的模拟仿真一直是计算机图形学领域的研究热点,研究者们不断在尝试对流体模拟仿真的真实感和计算效率进行提升。随着研究的深入,一些研究者将研究重心转移到流体与其他介
研究背景和目的慢性乙型病毒性肝炎目前仍是全球公共卫生的一大难题,其可进一步发生发展为肝硬化、肝癌或肝衰竭。慢性乙型病毒性肝炎的发生发展是机体免疫系统和病毒之间相互作用的复杂结果。Th17细胞是新鉴定的T细胞亚群,能分泌多种细胞因子,包括IL-17a、IL-21和IL-22,从而驱动乙型肝炎病毒的感染过程。IL-23可扩增Th17细胞,促进其分泌细胞因子,从而介导肝脏损伤和病毒清除的过程。因此,IL
随着微型传感器技术的发展,压阻传感器成为传感器技术研究的热点之一。高集成度、高精度、微型化、轻型化的压阻传感器成为传感器市场重要的需求产品。传统压阻式传感器的信