GKCI:改进的基于图神经网络的关键类识别方法
作者:
作者单位:

作者简介:

周纯英(1998-),女,硕士,主要研究领域为复杂网络,软件缺陷预测,软件关键类识别,图神经网络;曾诚(1976-),男,博士,教授,CCF专业会员,主要研究领域为人工智能,行业软件研发;何鹏(1988-),男,博士,副教授,CCF专业会员,主要研究领域为软件工程,复杂网络,软件度量,软件缺陷预测;张龑(1973-),男,博士,教授,主要研究领域为信息安全,代码测试,教育大数据

通讯作者:

何鹏,penghe@hubu.edu.cn

中图分类号:

基金项目:

国家自然科学基金(62102136);湖北省重点研发计划(2021BAA184,2021BAA188,2022BAA044);湖北省技术创新专项(2020AEA008)


GKCI: An Improved GNN-based Key Class Identification Method
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    研究人员将软件系统中的关键类作为理解和维护一个系统的起点,而关键类上的缺陷给系统带来了极大的安全隐患.因此,识别关键类可提高软件的可靠性和稳定性.常用的识别方法是将软件系统抽象为一个类依赖网络,再根据定义好的度量指标和计算规则计算每个节点的重要性得分,如此基于非训练框架得到的关键类,并没有充分利用软件网络的结构信息.针对这一问题,基于图神经网络技术提出了一种有监督的关键类识别方法.首先,将软件系统抽象为类粒度的软件网络,并利用网络嵌入学习方法Node2Vec得到类节点的表征向量,再通过一个全连接层将节点的表征向量转换为具体分值;然后,利用改进的图神经网络模型,综合考虑类节点之间的依赖方向和权重,进行节点分值的聚合操作;最后,模型输出每个类节点的最终得分并进行降序排列,从而实现关键类的识别.在8个Java开源软件系统上,通过与基准方法的实验对比,验证了该方法的有效性.实验结果表明:在前10个候选关键类中,所提方法比最先进的方法提升了6.4%的召回率和3.5%的精确率.

    Abstract:

    Researchers use key classes as starting points for software understanding and maintenance. These key classes may cause a significant security risk to the software if they have defects. Therefore, identifying key classes can improve the reliability and stability of the software. Most of the existing methods are based on non-trainable solutions, which calculate the score of each node according to a certain calculation rule, and cannot fully utilize the structural information available in the software network. To solve these problems, a supervised deep learning method is proposed based on graph neural network technology. First, the project is built as a software network and the network embedding learning method Node2Vec is used to learn the node representation. Then, the node representation is mapped into a score through a simple dense network. Second, the aggregation function of the graph neural networks (GNNs) is improved to aggregate important scores instead of node embedding. The direction and weight information between nodes are also considered when aggregating the scores of neighbor nodes. Finally, the nodes are ranked in descending order according to the predicted score output by the model. To evaluate the effectiveness of the proposed method, it is applied to eight Java open-source software systems. The experimental results show that the proposed method performs better than benchmark methods. In the top 10 key candidates, the proposed method achieves 6.4% higher recall and 3.5% higher precision than the state-of-the-art.

    参考文献
    相似文献
    引证文献
引用本文

周纯英,曾诚,何鹏,张龑. GKCI:改进的基于图神经网络的关键类识别方法.软件学报,2023,34(6):2509-2525

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2022-09-05
  • 最后修改日期:2022-10-10
  • 录用日期:
  • 在线发布日期: 2023-01-13
  • 出版日期: 2023-06-06
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号