Font Size: a A A

Research On Knowledge-driven Bug Search Technology

Posted on:2021-02-02Degree:MasterType:Thesis
Country:ChinaCandidate:D S ChenFull Text:PDF
GTID:2428330602475150Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
During the bug fixing process,developers often analyze historical related bug reports from the software bug repository to support various bug analysis activities,i.e.,bug understanding,bug localization,bug fixing,etc.Bug text contains rich semantics and relations,and effective search for such bug data is useful for bug analysis.However,due to the complexity of bug data,traditional keyword search methods are not suitable for this field.In addition,the current extraction technology is mainly targeted at traditional domain texts that have already defined entity and relation types,such as news,emails,and patents.However,the structure characteristics of bug data are not obvious and the types of bug entities and relations are unclear,which makes the knowledge extraction on bug text very difficult.In view of the above problems,this thesis conducts research on knowledge-driven software bug search technology.First,we extract bug knowledge from the perspective of entities and relations.Then,based on the knowledge,we design a searching and matching algorithm to implement knowledge-driven software search technology.The specific work is as follows:(1)A software entity recognition and relation extraction method is proposed for software bug domain.First,based on the bug data,eight types of bug relation types are defined.Then,based on the bidirectional long-short-term memory network(Bi-LSTM)and the shortest dependent path(SDP),a joint bug knowledge extraction model is constructed.Finally,we conducte an empirical study on the bug data of two projects in the Bugzilla project management repository,i.e.Mozilla and Eclipse.We compare with the existing entity recognition methods and relation extraction methods to evaluate our method.From the results,the bug entity recognition task's F1-score reaches 79.32%,with an increase of 1.6%.The bug relations extraction task's F1-score reaches 63.8%,with an increase of 11.1%.(2)We construct the bug knowledge graph,and propose a bug knowledge search algorithm based on structured knowledge units from the perspective of bug entity and relation matching.First,the algorithm associates with the bug knowledge graph from the perspective of the entity based on dual-features bug entity matching,and obtains a triple set of entity matching.Then,through further relation matching filtering,a set of relation-matched triples is obtained.Finally,the above triples are merged by entity alignment,and the final triples are generated into a search subgraph result by means of the Cypher query statement of the graph database neo4j.We compare our approach with keyword-based search methods in terms of search time and the performance.From the results,the search time is shortened,and the performance is improved by 11%(3)We design and implement the bug knowledge search platform for the software bug domain.The platform includes four modules of bug knowledge extraction,knowledge query,knowledge overview,and knowledge search.Meanwhile,users can get well search experience of bug knowledge through the correlation and visualization of knowledge graph,which can provide users with comprehensive bug knowledge.
Keywords/Search Tags:bug analysis, knowledge extraction, knowledge search, knowledge graph, recurrent neural networks
PDF Full Text Request
Related items