基于GoGCN的软件系统类交互关系预测
作者:
作者简介:

何鹏(1988-),男,博士,CCF专业会员,主要研究领域为面向服务的软件工程,软件质量分析,缺陷预测;卫操(1998-),男,硕士生,主要研究领域为深度学习,软件交互关系预测;吕晟凯(2001-),男,本科生,主要研究领域为深度学习,个性化推荐系统;曾诚(1976-),男,博士,CCF专业会员,主要研究领域为服务计算,机器学习,软件工程;李兵(1969-),男,博士,教授,博士生导师,CCF杰出会员,主要研究领域为软件工程,云计算,复杂网络

通讯作者:

何鹏,penghe@hubu.edu.cn

中图分类号:

TP311

基金项目:

国家自然科学基金(62102136, 61902114, 61977021); 湖北省重点研发项目(2021BAA184, 2021BAA188); 湖北省科技创新计划(2019ACA144, 2020AEA008)


GoGCN for Interaction Prediction Between Classes in Software System
Author:
  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [32]
  • |
  • 相似文献 [20]
  • | | |
  • 文章评论
    摘要:

    软件系统是一个复杂的人工制品, 类之间的交互关系对软件质量有着潜在影响, 如软件缺陷的级联传播效应就是一个典型. 如何准确预测软件系统中类之间合理关系, 优化设计结构是软件质量保障的一个开放问题. 从软件网络观的视角, 综合考虑软件系统中类与类之间关系(外部图), 以及每个类内部方法之间关系(内部图), 将软件系统抽象成一个图中图结构的软件网络, 并在此基础上提出一种基于图中图卷积神经网络的类交互关系预测方法. 首先对每个类内部图进行卷积得到类节点的初始特征, 再通过外部图的卷积更新类节点的表征向量, 最后通过计算类节点对的评估值进行交互预测. 根据在6个Java开源项目上的实验结果显示, 图中图结构有助于提高软件系统结构的表征能力, 且所提方法与常规网络嵌入方法相比, AUC值和AP值的平均增长率超过5.5%. 与此同时, 和两种同行方法相比, AUC值和AP值的平均增长率分别在9.36%和5.22%以上.

    Abstract:

    As a software system is a complex artifact, the interaction between classes exerts a potential impact on software quality, with the cascading propagation effect of software defects as a typical case. How to accurately predict the reasonable relationship between classes in the software system and optimize the design structure is still an open problem in software quality assurance. From the perspective of software network, this study comprehensively considers the interactions between classes in a software system (class external graph, CEG), and those between internal methods of each class (class internal graph, CIG). The software system is abstracted into a software network with a graph of graphs structure. As a result, a class interaction prediction method based on the graph of graphs convolutional network is proposed. Firstly, the initial characteristics of class nodes are obtained through the convolution of each CIG. Then the representation vector of class nodes is updated through the convolution of CEG, and finally, the evaluation values between class nodes are calculated for interaction prediction. The experimental results on six Java open source projects show that the graph of graphs structure is helpful to improve the representation of software system structure. The average growth rates of the area under the curve (AUC) and average precision (AP) of the proposed method are more than 5.5% compared with those of the conventional network embedding methods. In addition, the average growth rates of AUC and AP are more than 9.36% and 5.22%, respectively compared with those of the two peer methods.

    参考文献
    [1] Diaz-Pace JA, Tommasel A, Godoy D. Can network analysis techniques help to predict design dependencies? An initial study. In: Proc. of the 2018 IEEE Int’l Conf. on Software Architecture Companion (ICSA-C). Seattle: IEEE, 2018. 64–67.
    [2] Mens T, Tourwe T. A survey of software refactoring. IEEE Transactions on Software Engineering, 2004, 30(2): 126–139. [doi: 10.1109/TSE.2004.1265817]
    [3] Fowler M. Refactoring: Improving the design of existing code. In: Proc. of the 2nd XP Universe and the 1st Agile Universe Conf. on Extreme Programming and Agile Methods. Chicago: Springer, 2002. 256–256.
    [4] Coleman D, Ash D, Lowther B, Oman P. Using metrics to evaluate software system maintainability. Computer, 1994, 27(8): 44–49. [doi: 10.1109/2.303623]
    [5] Guimaraes T. Managing application program maintenance expenditures. Communications of the ACM, 1983, 26(10): 739–746. [doi: 10.1145/358413.358421]
    [6] Xin X, Lo D, Wang XY, Zhou B. Build system analysis with link prediction. In: Proc. of the 29th Annual ACM Symp. on Applied Computing. Gyeongju: ACM, 2014. 1184–1186.
    [7] Zhou B, Xia X, Lo D, Wang XY. Build predictor: More accurate missed dependency prediction in build configuration files. In: Proc. of the 38th IEEE Annual Computer Software and Applications Conf. Vasteras: IEEE, 2014. 53–58.
    [8] Díaz-Pace JA, Tommasel A, Godoy D. Towards anticipation of architectural smells using link prediction techniques. In: Proc. of the 18th IEEE Int’l Working Conf. on Source Code Analysis and Manipulation. Madrid: IEEE, 2018. 62–71.
    [9] Pan WF, Li B, Ma YT, Liu J, Qin YY. Class structure refactoring of object-oriented softwares using community detection in dependency networks. Frontiers of Computer Science, 2009, 3(3): 396–404. [doi: 10.1007/s11704-009-0054-y]
    [10] Bing L , Pan W , Lu J . Multi-granularity dynamic analysis of complex software networks. In: Proc. of the 2011 IEEE Int’l Symp. on Circuits & Systems. Rio de Janeiro: IEEE, 2011. 2119–2124.
    [11] 马于涛, 何克清, 李兵, 刘婧. 网络化软件的复杂网络特性实证. 软件学报, 2011, 22(3): 381–407. http://www.jos.org.cn/1000-9825/3934.htm
    Ma YT, He KQ, Li B, Liu J. Empirical study on the characteristics of complex networks in networked software. Ruan Jian Xue Bao/Journal of Software, 2011, 22(3): 381–407 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/3934.htm
    [12] Myers CR. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs. Physical Review E, 2003, 68(4): 046116. [doi: 10.1103/PhysRevE.68.046116]
    [13] Gu AH, Zhou XF, Li ZH, Li QF, Li L. Measuring object-oriented class cohesion based on complex Networks. Arabian Journal for Science and Engineering, 2017, 42(8): 3551–3561. [doi: 10.1007/s13369-017-2588-x] c
    [14] Zhang HH, Feng WJ, Wu LJ. The Static structural complexity metrics for large-scale software system. Applied Mechanics and Materials, 2010, 44-47: 3548–3552. [doi: 10.4028/www.scientific.net/AMM.44-47.3548]
    [15] Ma YT, He KQ, Li B, Liu J, Zhou XY. A hybrid set of complexity metrics for large-scale object-oriented software systems. Journal of Computer Science and Technology, 2010, 25(6): 1184–1201. [doi: 10.1007/s11390-010-9398-x]
    [16] Pan WF, Chai CL. Measuring software stability based on complex networks in software. Cluster Computing, 2019, 22(S2): 2589– 2598. [doi: 10.1007/s10586-017-1353-y]
    [17] Pan WF, Li B, Ma YT, Liu J. Multi-granularity evolution analysis of software using complex network theory. Journal of Systems Science and Complexity, 2011, 24(6): 1068–1082. [doi: 10.1007/s11424-011-0319-z]
    [18] 何鹏, 王鹏, 李兵, 胡思文. 基于多粒度软件网络模型的软件系统演化分析. 电子学报, 2018, 46(2): 257–267. [doi: 10.3969/j.issn.0372-2112.2018.02.001]
    He P, Wang P, Li B, Hu SW. An evolution analysis of software system based on multi-granularity software network. Acta Electronica Sinica, 2018, 46(2): 257–262 (in Chinese with English abstract). [doi: 10.3969/j.issn.0372-2112.2018.02.001]
    [19] Liu WY, Chen PY, Yeung S, Suzumura T, Chen LL. Principled multilayer network embedding. In: Proc. of the 2017 IEEE Int’l Conf. on Data Mining Workshops. New Orleans: IEEE, 2017. 134–141.
    [20] Wang HC, Lian DF, Zhang Y, Qin Y, Lin XM. GoGNN: Graph of graphs neural network for predicting structured entity interactions. In: Proc. of the 29th Int’l Joint Conf. on Artificial Intelligence. Yokohama: IJCAI, 2020. 317–1323.
    [21] Barros MDO, Farzat FDA, Travassos G H. Learning from optimization: A case study with Apache Ant. Information & Software Technology, 2015, 57: 684–704. [doi: 10.1016/j.infsof.2014.07.015]
    [22] Shen HW. Community Structure of Complex Networks. Berlin: Springer.
    [23] Xu K, Li CT, Tian YL, Sonobe T, Kawarabayashi KI, Jegelka S. Representation learning on graphs with jumping knowledge networks. In: Proc. of the 35th Int’l Conf. on Machine Learning (ICML). Stockholmsmässan: PMLR, 2018. 5449–5458.
    [24] Gao HY, Ji SW. Graph U-Nets. In: Proc. of the 36th Int’l Conf. on Machine Learning. Long Beach: PMLR, 2019. 2083–2092.
    [25] Kingma DP, Ba J. Adam: A method for stochastic optimization. In: Proc. of the 3rd Int’l Conf. on Learning Representations. San Diego: ICLR, 2015.
    [26] Cai LJ, Xu YB, He TQ, Meng T, Liu HM. PROD: A new algorithm of DeepWalk based on probability. Journal of Physics: Conference Series, 2019, 1069: 012130. [doi: 10.1088/1742-6596/1069/1/012130]
    [27] Grover A, Leskovec J. node2vec: Scalable feature learning for network. In: Proc. of the 22nd ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. San Francisco: ACM, 2016. 855–864.
    [28] Ribeiro LFR, Saverese PHP, Figueiredo DR. struc2vec: Learning node representations from structural identity. In: Proc. the 23rd ACM SIGKDD Int’l Conf. Halifax: ACM, 2017. 385–394.
    [29] Jian T, Meng Q, Wang MZ, Yan J, Mei QZ. LINE: Large-scale information network embedding. In: Proc. of the 24th Int’l Conf. on World Wide Web. Florence: ACM, 2015. 1067–1077.
    [30] Wang DX, Cui P, Zhu WW. Structural deep network embedding. In: Proc. of the 22nd ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. San Francisco: ACM, 2016. 1225–1234.
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

何鹏,卫操,吕晟凯,曾诚,李兵.基于GoGCN的软件系统类交互关系预测.软件学报,2023,34(11):5029-5041

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

京公网安备 11040202500063号