当前位置:主页 > 科技论文 > 自动化论文 >

基于监督式主题模型和深度学习的API缺陷定位与修复技术

发布时间:2021-08-14 07:58
  开源软件开发过程中,缺乏专门的测试人员、开发人员流动性大、大量集成第三方库和框架等特点,使其缺陷修复、尤其是应用编程接口(Application Programming Interfaces,API)相关缺陷修复面临巨大挑战。具体而言,上述特点导致:1)大部分缺陷报告通常只包含功能失效描述,缺乏功能实现代码线索;2)参于项目的开发人员往往缺乏必要的业务功能与实现代码关联知识;3)开发人员较难掌握种类繁多的第三方库或框架提供的API正确使用知识。这些因素最终导致,当开发人员试图处理缺陷报告时,难以定位相关实现代码,而对于API相关缺陷,即使确定了代码范围,也难以理解代码并找到缺陷产生的原因。为此,需要提供一种基于缺陷报告的API缺陷自动修复技术帮助开源软件开发人员提高缺陷修复效率。开源代码托管平台为开源软件开发提供了缺陷跟踪和代码库管理等功能,其缺陷跟踪系统中积累了大量已修复缺陷报告和对应的代码变动信息,而其代码库中也积累了大量各类API使用代码。为此,本文基于机器学习的相关技术首先从缺陷跟踪系统积累的数据中学习出业务功能与实现代码关联知识,帮助开发人员定位缺陷报告关联的代码,接着从代码... 

【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校

【文章页数】:109 页

【学位级别】:硕士

【部分图文】:

基于监督式主题模型和深度学习的API缺陷定位与修复技术


图3-2:缺陷报告和其修复源文件名的词共现现象??图3-2是一个己解决的缺陷报告@的描述文本以及其对应的修复源文件??名

模型图,概率图,模型,方法


?l?Prediction?Modal?)??Ranked?Results??图3-4:缺陷定位过程图??图3-4展示了基于缺陷报告的缺陷定位方法的整体流程。首先为了得到训??练数据,需要收集缺陷追踪系统中状态为已解决的缺陷报告以及其对应的修复??关系,利用已有的数据训练出本文所采用的缺陷定位预测模型。对于用户输入??的新的缺陷报告,根据训练好的缺陷定位预测模型可以得到排序好的疑似存在??缺陷的源文件列表,下面对方法的数据处理以及具体模型进行详细介绍。??3.2.2数据处理??首先需要对数据进行预处理,对于每一个项目,可以从对应的BugZilla网??站上获取其所有的缺陷报告,再从收集到的缺陷报告中,筛选出状态为Hxed??的缺陷报告来进行实验评估。为了匹配缺陷报告与其对应的修复文件,本文采??取了?Bachmann与Bemsteinln51提出的传统启发式方法:??

过程图,缺陷定位,过程图


于缺陷报告的缺陷定位方法的整体流程陷追踪系统中状态为已解决的缺陷报告据训练出本文所采用的缺陷定位预测模据训练好的缺陷定位预测模型可以得到,下面对方法的数据处理以及具体模型进理??进行预处理,对于每一个项目,可以从缺陷报告,再从收集到的缺陷报告中,验评估。为了匹配缺陷报告与其对应的emsteinln51提出的传统启发式方法:??


本文编号:3342090

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/3342090.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户bac93***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com