一种基于社会网络分析的软件缺陷修复者推荐方法及实现

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:allenchang98
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件缺陷作为衡量软件质量的重要指标,一直受到学术界和工业界的关注。软件缺陷管理是软件开发过程中较为重要的环节之一,软件缺陷的数量及分布直接关系到软件项目的时间成本和金钱开销。在软件开发过程中,及时发现并修复软件产品中的缺陷可有效地提高软件产品质量。软件缺陷的存在会导致软件产品在一定程度上无法满足用户的需求。   为了有效管理缺陷,软件组织通常使用Bugzilla、JIRA、Mantis或Trac等缺陷跟踪系统管理软件的缺陷及需求。通过缺陷跟踪系统,软件使用者及开发者可以方便地向系统提交及时发现的软件缺陷。缺陷跟踪系统记录、跟踪每个缺陷报告的状况,有效地展示软件产品的整体质量现状,同时还提供搜索缺陷、分配缺陷等功能。在缺陷跟踪系统中,开发者讨论缺陷的修复,QA分发缺陷报告、测试缺陷报告,项目管理者跟踪软件质量现状。由此看出,缺陷跟踪系统是软件开发过程中开发者、QA及项目管理者等角色的重要交流枢纽。在大型软件开发组织中,每天会有大量的软件缺陷被提交到缺陷跟踪系统,这给软件组织成员,包括软件开发者、软件项目管理人员,带来沉重的负担。面对大量新增缺陷报告,将缺陷报告个性化地推荐给相关修复者,减少人工参与时间花费,替代人工分发缺陷报告。   本文研究了现有的缺陷报告分发技术,重点探讨了基于机器学习分类算法和基于开发者经验模型的两类方法,并总结了在软件开发过程中典型缺陷修复过程,介绍了开源软件社区社会网络分析研究。基于以上研究,本文提出了一种新的缺陷修复相关开发者推荐方法DREX(Developers Recommendation with KNNSearch and EXpertise Ranking),该方法通过挖掘缺陷跟踪系统的缺陷数据库,使用K近邻搜索相似历史缺陷报告;基于开发者参与这些相似历史缺陷报告的讨论交流情况,建立开发者交流网络,通过社会网络分析对候选开发者经验进行排序,选取Rop Q个开发者作为被推荐的软件缺陷修复者。同时,基于提出的方法实现了缺陷修复者推荐系统,此系统支持DREX方法、及用于对比的ML-KNN方法和BR-SVM方法。最后在实际项目数据进行试验,与其他的算法进行比较,验证了方法的效果。
其他文献
随着集成电路工艺进入深亚微米,芯片频率不断提升,中央处理器(CPU)对数据的访存成为性能瓶颈。通过采用DDR(Double Data,Rate)内存技术可以大幅提高数据访存速率和带宽,但是D
目前,异构体系结构是构建大规模并行计算系统的重要手段。使用GPU加速卡来构建异构系统成为一种主流的方式。而不论从应用的角度,还是从体系结构的角度看,如何充分有效的利用异
近年来,国际国内各种社会组织的数量及活跃度快速增长,对各国的政治、经济等领域的影响日益加深。因此,迫切需要研究各种社会组织的行为规律,为政府等利益主体的科学决策提供
由于海量医学信息的快速增长以及信息来源的多样性、组织的无序性等原因,传统的医学信息的组织方式很难满足人们对于信息服务的需求。医学知识库对医学领域的各种知识进行分
与传统的资源管理方式相比,虚拟化技术给系统资源的管理带来了很大的优势。通过虚拟机的服务和资源封装作用,一方面可以快速有效的整合服务和部署应用,提高资源管理的自动化程度
本文主要是分析在历史网页搜索中若干导致用户不满意检索结果的原因,并提出解决方案。在历史网页搜索中一个重要的特点:检索结果按照时间排序。当检索结果按时间排序时,可能
当前在化合物鉴定的研究中,随着质谱技术的迅猛发展,通过色谱质谱(LC-MS)联用技术鉴定样品的质谱数据从而鉴定化合物是最广泛使用的技术。实验中,从色谱中分离出来的化合物样品
近年来,伴随着显卡硬件技术的不断革新,GPU这种新的编程技术为高性能计算提供了一种全新的可能性。尤其是在科学计算领域,其强大的计算能力已经使部分计算任务获得几十甚至几百
曲面共形参数化技术是近年来计算机图形学领域的一个研究热点。本文着重介绍了离散Ricci曲率流这个强大的数学工具,并将此工具应用于曲面共形参数化过程。在参数化过程中,使
地理模型是实现地理问题求解的主要工具和手段。国内外的地理学家从不同研究领域出发,已经建立了大量的、成熟的地理模型,然而由于这些地理模型在使用领域。运行平台,数据格