计算机科学
软件工程
软件挖掘
知识工程
领域知识
知识整合
知识建模
软件开发
知识管理
数据科学
软件
软件建设
程序设计语言
作者
Lu Wang,Chenhan Sun,Chongyang Zhang,Weike Nie,Kaiyuan Huang
标识
DOI:10.1016/j.infsof.2023.107327
摘要
Knowledge graphs describe knowledge resources and their carriers through visualization. Moreover, they mine, analyze, construct, draw, and display knowledge and their interrelationships to reveal the dynamic development law of the knowledge field. Furthermore, knowledge graphs provide practical and valuable references for subject research. With the development of software engineering, powerful semantic processing and organizational interconnection capabilities of knowledge graphs are gradually required. Current research suggests using knowledge graphs for code or API recommendation, vulnerability mining, and positioning to improve the efficiency and accuracy of development and design. However, software engineering lacks a systematic analysis of the knowledge graphs application. This paper explores the construction techniques and application status of knowledge graphs in the field of software engineering, broadens the application prospects of knowledge graphs in this field, and facilitates the subsequent research of researchers. We collected over 100 documents from 2017 to date and selected 55 directly related documents for systematic analysis. Then, we analyzed the organized knowledge mainly stored in software engineering knowledge graphs, including software architecture, code details, and security reports. We studied the emerging research methods in ontology modeling, named entity recognition, and knowledge fusion in graph construction and found that current knowledge graphs are mainly used in intelligent software development, software vulnerability mining, security testing, and API recommendation. Our research on the innovation of knowledge graph in software engineering and the future construction of integrating open-source community software and developer recommendations with knowledge-driven microservice O&M aspects can inspire more scholars and knowledge workers to use knowledge graph technology, which is important to solve software engineering problems and promote the development of both fields.
科研通智能强力驱动
Strongly Powered by AbleSci AI