推荐星级:
- 1
- 2
- 3
- 4
- 5
基于知识图谱的bug问题探索性搜索方法
资料介绍
软件bug问题在软件开发与维护过程中不可避免.然而软件历史库中的bug库与commit库之间没有直接的对应关系,并且随着bug信息、commit提交信息量的增长,搜索bug变得更加繁琐.本文提出一种基于知识图谱对bug问题进行探索性搜索的方法.通过建立bug报告、commit提交信息及相关人员(如:bug报告人、commit提交者等)信息的bug知识图谱,并结合探索性搜索的思想,不仅能准确搜索bug问题,还能提供相关辅助信息对bug问题进行探索性搜索,帮助软件开发人员更有效地理解和解决bug问题.
部分文件列表
文件名 | 大小 |
基于知识图谱的bug问题探索性搜索方法.pdf | 905K |
部分页面预览
(完整内容请下载后查看)7
Vol. 46 No. 7
Jul. 2018
第
期
电
子
学
报
2018
7
ACTA ELECTRONICA SINICA
年
月
bug
基于知识图谱的
问题探索性搜索方法
1,2
1
1
1
1
, , , ,
孙小兵 王 璐 王经纬 李 斌 李 宇
( 1.
,
扬州大学信息工程学院 江苏扬州
225127; 2.
,
南京大学计算机软件新技术国家重点实验室 江苏南京
210023)
:
bug
.
bug
commit
库之间没有直
摘
要
软件
问题在软件开发与维护过程中不可避免 然而软件历史库中的
库与
变得更加繁琐 本文提出一种基于知识图谱对
: bug 、commit
,
接的对应关系 并且随着
bug 、commit , bug
信息 提交信息量的增长 搜索
.
bug
.
问题进行探索性搜索的方法 通过建立
bug 、commit
报告
(
)
提交信息及相关人员 如
报告人
提交者等
bug
问题进行
bug
,
,
bug
,
问题 还能提供相关辅助信息对
信息的
探索性搜索 帮助软件开发人员更有效地理解和解决
bug ; commit
知识图谱 并结合探索性搜索的思想 不仅能准确搜索
,
bug
.
问题
:
;
;
关键词
中图分类号
URL: http: / /www. ejournal. org. cn
报告
提交 知识图谱 探索性搜索
:
TP311
:
A
: 0372-2112 ( 2018) 07-1578-06
DOI: 10. 3969 /j. issn. 0372-2112. 2018. 07. 006
文献标识码
文章编号
电子学报
Construct Knowledge Graph for Exploratory Bug Issue Searching
1,2
1
1
1
1
SUN Xiao-bing ,WANG Lu ,WANG Jing-wei ,LI Bin ,LI Yu
( 1. School of Information Engineering,Yangzhou University,Yangzhou,Jiangsu 225127,China;
2. State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing,Jiangsu 210023,China)
Abstract: Software bug issues are inevitable in software development and maintenance. However,there are no corre-
sponding relationships between bugs and commits in software repository. Moreover,with the increasing amount of bug re-
ports and commit information,bug search in the software repository becomes more difficult and costly. In this paper,we pro-
pose an exploratory search approach to search bug issues based on knowledge graph. By building the bug knowledge graph of
bug reports,commits and related developers ( such as bug reporters,committers and so on) and combining with the idea of
exploratory search,our approach can not only help software developers search bug issues accurately,but also provide the rel-
evant information to explore bug issues,thus software developers can understand and resolve bug issues more effectively.
Key words: bug report; commit; knowledge graph; exploratory search
, .
够明确时 得到的搜索结果并不准确 并且软件历史库
1
引言
bug commit
报告与
中的
信息间并没有建立相互对应的
bug
,
在软件开发和维护过程中 软件开发人员和维护
,
关联关系 这也使得当开发人员对
问题进行搜索
[1]
bug
.
bug
问
人员常常会遇到一些
问题
要解决这些
commit
记
,
时 还要花时间去查找与之对应的
commit
.
信息 随着
,
题 开发人员常常参照与该
bug
报告对应的
bug
commit
,
信息量的不断增长 搜索也会越来越
报告和
[2,3]
录
或通过搜索历史库中相似的已被报告并且被解
.
繁琐耗时
[4,5]
bug
.
bug
com-
库或
决的
来寻找解决方案
库大多基于关系数据库进行搜索 得到的信息较为
bug com-
而已有的
bug
commit
鉴于
报告与
要性 很多研究提出了一些方法来建立
mit
之间的这种关联关系的重
mit
,
,
bug com-
报告和
之间的这种关联关系 或者尝试找出与之相似的
,
,
片面 只能搜索
信息 并不能直接提供相关的
,
[6]
mit
bug
.
信息 且这种搜索方式不能理
信息或者相似的
bug. Wu
ReLink
,
bug
报
等人提出一种方法
根据计算
,
解开发人员的搜索目的 传统的搜索方式都是基于关
commit
告和
信息间的文本相似度来判断它们之间的关
,
键字匹配进行搜索的 当开发人员输入的搜索内容不
, , commit
系 文本间的相似度越高 此 就越有可能与该
: 2016-12-26;
: 2017-08-21; :
责任编辑 孙瑶
收稿日期
修回日期
:
基金项目 国家自然科学基金
( No. 61402396,No. 61472344) ;
( No. KFKT2016B21) ;
江苏青
南京大学计算机软件新技术国家重点实验室开放基金
;
蓝工程 大学生创新创业训练计划
( No. 201611117024Z) ;
-
扬州市自然科学基金 面上项目
( No. YZ2017113)
1579
7
: bug
孙小兵 基于知识图谱的 问题探索性搜索方法
第
期
bug
.
报告之间存在关联关系 此外相似
bug
mit
,
bug
知识库
报告很大程
数据是半结构化的 并且也没有成熟的
bug 、commit
报告
.
,
,
bug
,
问题 软件开发者
可利用 因此 通过对数据的分析 将
信息及相关开发人员信息建立知识图谱数据模式的知
bug
度上也能帮助软件的开发者解决
bug
,
对自己的问题有更深入的了解 也
可以通过类似的
,
,
知识图谱 不仅建立了数据间的结构
识库 并生成
bug
commit . Gu
寻找解决方案
可以通过类似
的
等人为
, ,
化关系 也可更好地理解开发人员的查询输入 有助于
bug,
以执行轨迹的形式开发了语义
bug
了搜索类似的
[7]
.
为他们提供更加全面的搜索结果
2. 2
探索性搜索
,
信息 它能够精确捕获
bug
. ,
然而 这些方法虽
语义
,
好 想要获得全面的
bug
,
相关信息 还需将这两种方法
、
探索性搜索是一种通过搜索进行知识的获取 概
,
bug
commit
结合起来 获取到
相对应的
信息才能更好的帮助软件开发人员解决
为了更好的帮助软件开发人员理解和解决
bug
信息及相似的
、
念的理解 数据的比较以及对信息的分析和合成等为
bug
bug
.
问题
bug
[16]
.
,
为了让用户参与到搜索过程中来
目的的搜索活动
问
,
可通过高度交互的界面 使用户处于持 续 的 控 制之
,
题 本文提出一种基于知识图谱对
问题进行探索性
[16]
, ,
通过动态选择来探索并预测用户的搜索意图 并
中
[8]
.
bug
搜索不仅可以为
搜索的方法
开发者提供更全面的
bug
将知识图谱应用于
, , ,
记录搜索记录 浏览时间等 对这些数据进行挖掘 以提
bug
,
相关信息 还能改进搜索质
,
供更好的服务 然后根据搜索者对搜索结果的采纳情
.
、commit
量 本方法首先将
报告
及开发人员的数据
, . ,
况改变结果的排序 优化搜索结果 在本文方法中 探索
[9]
,
使用自然语言处理技术 进行处理 并以知识图谱的
,
性搜索是基于建立的知识图谱进行的 搜索过程中可
bug , bug
知识库 并得到
数据模式建立
及其相关信息的
, ,
通过对信息的动态选择 不断地帮助优化搜索结果 同
.
知识图谱 然后使用自然语言预处理技术对开发者的
,
时也提供更全面的信息帮助搜索者进行探索和学习
, ,
查询输入进行语义处理 结合探索性搜索方法 不仅能
.
发现信息间的关联关系
2. 3
,
准确提供要搜索的内容 还能在让开发者在与界面不
相关工作
一些研究提出了用于恢复
commit . Wu
bug
断交互的过程中帮助他们对
及其相关信息进行探
bug
报告和它们相应的
,
索和学习 从而辅助开发者更快地解决
bug
.
问题
Re-
com-
之间链接的技术
等人提出一种方法
[6]
Link ,ReLink
,
基于三个标准恢复链接关系 包括
2
研究背景和相关工作
mit
bug
、bug
报告的提交和
信息和
代码修改的
告的评论者和提交者之间的映射
报告间文本相似度
2. 1
基于知识图谱的搜索方式
commit
、
bug
报
提交之间的持续时间 以及
( Knowledge Graph)
Google
,
正式提出
知识图谱
由
. Le
等人提出一种新
commit
描述信息
[2]
.
其目的是为了改善搜索结果质量 传统的信息检索一
bug
RCLinker
的
链接方法
为空或只包含较少的信息时难以恢复
mit
来解决当
,
般基于关键词进行检索 但是搜索引擎并不理解用户
bug
com-
报告与
提交间链接的问题 他们依赖丰富的上下文信息来
bug commits
.
,
的输入 只能通过对开发者的输入进行切分得到关键
.
检测
种新的基于分类技术来建立判别模型预测
commit
报告和
间的关系 并且他们还提出一
, ,
词 然后将关键词与要搜索的数据进行匹配 再将匹配
bug
报告和
,
的结果通过一定的排序算法返回 最终搜索者从中浏
.
间的链接是否存在
.
览选择想要的搜索结果 因为不能理解搜索者的真实
,
bug
另外 当前也有一些研究工作致力于通过捕获
bug bug . Gu
等
, .
目的 所以基于关键词的检索技术效果不是很好 而基
,
的语义 寻找相似的
来解决遇到的
问题
,
于知识图谱的语义检索可理解用户的输入 并为搜索
[10 ~ 12]
Eclipse
OSCILLOSCOPE,
的插件 它使用
人描述了一种
.
者提供直接和系统的结果
一个典型的知识图谱包括实体 概念和关系
识图谱的目标在于描述现实世界中存在的各种实体或
bug
bug
,
追踪来详尽地搜索它的数据集 从而找出相似的
[13]
、
.
知
[4]
bug
.
并返回它们的
本文提出的搜索方法是通过建立
bug
报告
bug
com-
报告与
bug
与
, .
概念 以及这些实体或概念之间的关联关系 在知识图
mit
,
及相关开发人员的
知识图谱 不仅恢复
, ,
谱中 不仅概念与概念之间存在关联关系 实体与实体
commit
,
,
间关系 还能提供更全面的相关信息 更好的帮
bug bug
相关信息进行探索性理解和
, ,
之间也存在关联关系 实体可以拥有属性 用于刻画实
助搜索
以达到对
.
体的内在特性 知识图谱是一种可以用来有效管理大
.
搜索的目的
, 、 、
规模数据的工具 可应用在语义搜索 知识导航 数据分
[14]
3
基于知识图谱的探索性搜索
.
析及决策支持等领域
当前关于知识图谱的研究包括对结构化数据和半
1
, ,
给出了本文技术的流程图 分为两个阶段 第
图
,
结构化数据的挖掘与分析 而大多研究集中在结构化
[10]
[15]
,
的数据 例如基于成熟的知识库
(
Freebase ) .
如 而
https: / /bugzilla. mozilla. org/
https: / /github. com /github
①
②
①
②
Mozilla@ Bugzilla
Github
bug
com-
数据和
本文
和
中的
全部评论(0)