计算机科学2021,Vol.48Issue(12) :149-158.DOI:10.11896/jsjkx.210100200

基于图神经网络的软件系统中关键类的识别

Identification of Key Classes in Software Systems Based on Graph Neural Networks

张健雄 宋坤 何鹏 李兵
计算机科学2021,Vol.48Issue(12) :149-158.DOI:10.11896/jsjkx.210100200

基于图神经网络的软件系统中关键类的识别

Identification of Key Classes in Software Systems Based on Graph Neural Networks

张健雄 1宋坤 1何鹏 2李兵3
扫码查看

作者信息

  • 1. 湖北大学计算机与信息工程学院 武汉430062
  • 2. 湖北大学计算机与信息工程学院 武汉430062;应用数学湖北省重点实验室 武汉430062
  • 3. 武汉大学计算机学院 武汉430072
  • 折叠

摘要

软件系统中通常存在一些在拓扑结构上处于核心位置的关键类,这些类上的缺陷往往会给系统带来极大的安全隐患,识别关键类对工程师理解或维护一个软件系统至关重要.针对这一问题,提出一种基于图神经网络的关键类识别方法.首先利用复杂网络理论,将软件系统抽象为软件网络;其次结合无监督网络节点嵌入学习以及邻域聚合的方式,构建一个编码-解码(encoder-decoder)框架,提取软件系统中类节点的表征向量;最后利用Pairwise排序学习实现网络中节点的重要性排序,从而实现软件系统中关键类的识别.为验证所提方法的有效性,选取4个Java开源软件作为实验对象,并与常用的5种节点重要性度量方法以及2个已有工作进行对比分析.实验结果表明:与介数中心性、K-core、接近中心性、节点收缩法和PageRank等方法相比,该方法识别关键类的效果更好;另外,相比已有工作,在前15%的关键类节点中,所提方法的召回率和准确率的提高幅度均在10%以上.

关键词

软件网络/关键类识别/网络嵌入/图神经网络/排序学习

引用本文复制引用

基金项目

国家重点研发计划(2018YFB1003801)

国家自然科学基金(61832014)

国家自然科学基金(61902114)

国家自然科学基金(61977021)

湖北省科技重大专项(2019ACA144)

应用数学湖北省重点实验室开放基金(HBAM201901)

出版年

2021
计算机科学
重庆西南信息有限公司(原科技部西南信息中心)

计算机科学

CSTPCDCSCD北大核心
影响因子:0.944
ISSN:1002-137X
被引量2
参考文献量4
段落导航相关论文