2020.10.15
本工具支持自动化软件缺陷定位,能够分析缺陷报告与源文件之间的文本和语义相似度,并且通过深度学习方法提高缺陷定位的准确度,最终将得到的定位结果可视化地展示给用户,并支持与用户的动态交互以及代码在线展示,能够为程序员节省大量用于寻找和修复软件缺陷所耗费的精力。
在开发者提交的软件缺陷报告中,往往存在很多关键词可以暗示这个缺陷与哪些源文件相关,通过对缺陷报告的文本分析和语义抽取以及对项目源文件的主题抽取,可以发现特定缺陷报告的语义与相应源文件的主题之间存在很高的相似度,因此可以以此找出导致缺陷的文件,同时,由于大型项目在发展过程中积累了大量历史缺陷及修复信息,这些信息可以作为深度学习方法的监督信息,从而进一步提高缺陷定位的精确度。工具主要功能包括:
1)用于软件缺陷报告详情的展示;
2)用于团队项目中出现的软件缺陷的动态跟进和任务分配;
3)用于在线分析软件缺陷报告并给出可能的缺陷位置信息。提供BugHunter和L2SS两种缺陷定位算法,应用自然语言处理领域的LLDA算法的变体对缺陷报告文本内容进行分析,以积累的历史缺陷及其对应的修复信息作为监督,对导致缺陷的程序源文件位置做出预测。实验表明,两种算法都能对软件缺陷的位置做出更准确的预测。
软件开发与维护过程中辅助开发人员定位软件缺陷
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
基于缺陷报告与历史修复记录的软件缺陷智能定位工具
介绍
本工具支持自动化软件缺陷定位,能够分析缺陷报告与源文件之间的文本和语义相似度,并且通过深度学习方法提高缺陷定位的准确度,最终将得到的定位结果可视化地展示给用户,并支持与用户的动态交互以及代码在线展示,能够为程序员节省大量用于寻找和修复软件缺陷所耗费的精力。
技术概要
在开发者提交的软件缺陷报告中,往往存在很多关键词可以暗示这个缺陷与哪些源文件相关,通过对缺陷报告的文本分析和语义抽取以及对项目源文件的主题抽取,可以发现特定缺陷报告的语义与相应源文件的主题之间存在很高的相似度,因此可以以此找出导致缺陷的文件,同时,由于大型项目在发展过程中积累了大量历史缺陷及修复信息,这些信息可以作为深度学习方法的监督信息,从而进一步提高缺陷定位的精确度。工具主要功能包括:
1)用于软件缺陷报告详情的展示;
2)用于团队项目中出现的软件缺陷的动态跟进和任务分配;
3)用于在线分析软件缺陷报告并给出可能的缺陷位置信息。提供BugHunter和L2SS两种缺陷定位算法,应用自然语言处理领域的LLDA算法的变体对缺陷报告文本内容进行分析,以积累的历史缺陷及其对应的修复信息作为监督,对导致缺陷的程序源文件位置做出预测。实验表明,两种算法都能对软件缺陷的位置做出更准确的预测。