基于信息检索的方法级别软件缺陷定位研究

来源 :北京化工大学 | 被引量 : 0次 | 上传用户:re_man
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件质量管理是信息系统领域一个重要的研究内容。当软件的质量存在问题时,将会带来很严重地影响。由于软件生产具备知识密集和人力密集的特点,这将不可避免的会产生软件缺陷。当软件缺陷报告在缺陷跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位并做出相应的代码变更以修复该软件缺陷。在缺陷修复的整个过程之中,软件缺陷定位占用了开发人员大量的时间。本文提出了两种基于信息检索的方法级别软件缺陷定位方法以提高软件修复人员的工作效率,分别称之为 MethodLocator 及 FineLocator。MethodLocator首先对缺陷报告和源代码方法体通过利用词向量(word2vec)和TF-IDF结合的方法进行向量表示,然后根据源代码文件中方法体之间的相似度,对方法体进行扩充,最后对扩充后的方法体和缺陷报告计算其余弦距离并排序,来定位为修复软件缺陷所需做出变更的方法。在四个开源软件项目ArgoUML,Ant,Maven和Kylin上的实验结果表明,MethodLocator方法优于现有的缺陷定位方法,它能够在方法级别上有效地将软件缺陷定位到源代码。在FineLocator中,与MethodLocator相似,首先对缺陷报告和源代码方法体通过利用词向量(word2vec)和TF-IDF结合的方法进行向量表示。然后本文在FineLocator的框架下提出三个查询扩展分数分别为语义相似度得分,时间接近度得分和调用依赖性得分,以解决由源代码中的方法体短长度而引起的表示稀疏性问题。之后,通过查询扩展的方法对源代码方法体进行扩充。最后,当一个新的缺陷报告传入时,FineLocator将利用缺陷报告和通过查询扩展后的方法体之间的余弦相似度对源代码方法体进行排序,来定位为修复软件缺陷所需做出变更的方法。在五个开源软件项目ArgoUML,Ant,Maven,Kylin和AspectJ上的实验结果证明了 FineLocator的有效性。本文得到的管理启示:利用信息检索方法有助于软件质量管理,帮助软件维护人员进行缺陷定位,减少软件维护成本,提高软件开发质量。为软件项目管理人员采用信息检索方法进行软件质量改进,提供一种有效手段。
其他文献
本文利用Fluent模拟软件对UASB内部气液两相流场的二维分布状况进行数值模拟,主要研究内容及结论如下:(1)固定三相分离器角度为50o,通过改变不同的OLR(容积负荷)(4、5、6、7
随着环境污染的日益严重以及人们环境保护意识的增强,过去被忽视的居室环境中的放射性氡危害已逐渐引起人们的重视。氡是一种天然放射性气体元素,会对人体产生一系列的辐射效应
分析化学是一门实践性和应用性很强的学科.是解决生产和科研实际问题的重要工具。在分析化学教学过程中,改革和创新教学内容、教学模式和教学方法,有利于充分调动学生的积极性和
营商环境是体现政府治理能力的重要指标,也是反映区域经济综合实力的主要体现。营商环境在治理主体上表现为多元性参与,强调以制度化、合作性、公共性为特征,全面推进改革战
在汽车制造领域的一线相关作业人员,经常需要重复搬运重物或长时间维持不符合人体工学的姿态进行装配作业,长期以来会导致腰部、背部等部位患有职业伤害。而外骨骼机器人的诞
历经27余年的发展,佛吉亚提供的解决方案从全球领先的汽车内饰整体集成系统到高复杂性的零排放系统全部覆盖,目前主要分为汽车座椅系统、汽车内饰系统、绿动智行系统和佛吉亚
同步器总成是变速器内一个重要的部件,由内摩擦环、中间环及外摩擦环三环组成。本文通过研究变速器主箱同步器总成,利用研磨夹具与外摩擦环、中间环及内摩擦环形成的分总成配
晋升是公务员最具有激励手段的方式之一,影响公务员的物质与精神方面的需求,只有良好的公务员职务晋升才能起到有效的激励公务员作用。然而现实中基层公务员职务晋升因公务员
自动驾驶、智能互联、替代性驱动系统,已成为汽车行业公认的三大技术发展趋势,迎合这些趋势,大陆集团不断创新研发,数项最新成果在技术日精彩亮相,昭示着“零愿景”下的美好
今年以来,山东狠抓促进外贸发展的政策落实,积极推进外贸新旧动能转换,妥善应对贸易摩擦等一系列新挑战,努力实现全省进出口稳定增长。2018年1~8月份,全省完成进出口12158.1亿元,同
报纸