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

来源 :湖北大学 | 被引量 : 0次 | 上传用户:jim_666cn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统规模的不断增大,其复杂性也随之剧增,软件工程师的开发与维护工作量也明显加重。近年来一系列研究表明,软件系统中存在一些关键度较高的类,即关键类。这些类通常位于软件系统拓扑结构的核心位置,如果关键类出现失效的情况,将对软件系统拓扑网络的连通性能造成较大破坏,因此关键类上存在的缺陷将对系统带来极大安全隐患,另外识别软件系统的关键类对工程师理解或维护一个不熟悉的软件系统同样至关重要。复杂网络理论的兴起,为研究大型软件系统的特性开辟了一条新的途径,其中复杂网络中节点重要性排序方法也为软件系统中关键类的识别提供了一个新视角,并已提出了许多相关方法。现有的基于软件网络的关键类识别方法,一部分聚焦在改进软件网络建模策略,另一部分则是从网络功能(如抗毁性、传播影响力)和拓扑结构(如聚类系数、度相关性、中心性)等方面改进节点重要性度量指标(手工的度量指标)。近年来,深度学习范式(如卷积神经网络(CNN)、长短期记忆(LSTM)和自动编码器)彻底改变了依赖手工的特征工程来提取信息特征的局面。图神经网络也因此被启发用于自动处理图数据,并成功应用于社交网络、信息网络,也存在将图神经网络应用于商品评价网络或知识图谱的关键节点识别任务的研究。然而迄今为止,笔者暂未发现有利用图神经网络来识别软件系统关键类的研究。为此,本文尝试在软件网络上利用图神经网络进行节点的重要性学习,实现软件系统中关键类的识别。本文参考应用于其它领域的图神经网络框架并对其进行改进使其适用于软件系统关键类识别任务。首先通过对软件系统源代码进行解析,抽取类之间的依赖关系和依赖强度,构建加权软件网络模型。其次利用网络嵌入学习将软件网络中节点映射为一个低维表征向量;然后构建一个基于图自编码器的排序模型,以得到的节点低维表征向量作为编码器输入,将每个节点进一步编码为一个特征向量,再在一个多层感知机上使用成对排序(pairwise ranking)损失函数训练模型,将每个节点解码为一个评估值。最后,从网络鲁棒性角度利用三个指标评价关键类的识别准确性。通过在人工的复杂网络上进行模型训练,再在4个实际的面向对象Java开源软件上进行验证,并与常用的5种度量方法和3个已有工作进行对比分析。实验结果显示:从网络鲁棒性角度评价,与常用的介数中心性、K-core、接近中心性、节点收缩法和Page Rank方法相比,本文所提方法在识别软件系统中关键类的效果上更好;另外,在已有公开标注数据集上,本文方法前15%的关键节点的召回率和准确率效果更好,其中召回率和准确率提高幅度均在10%以上,最大可达80%。研究成果可以应用于指导软件开发过程中的关键类查找,为软件工程师提供一个类的排序列表,作为代码理解过程的起点和维护依据。
其他文献
现如今,随着科技的飞速发展,多媒体产品的数字化和网络的普遍化为信息(如音频,图片,视频等)的储存和提取提供了极大的便利,提高了数字信息传输的效率以及传输过程中的准确性。但也正是因为多媒体数字信息其传输方式的便利和快速,随之便出现了版权保护和信息安全的问题。因为缺少相应的保护机制,共享的多媒体信息特别容易被非法复制,篡改以及转发,这会给某些非法的个人或组织的盗版侵权行为带来了可乘之隙,严重的损害了版
流密码是一类应用广泛的对称密码体制,其安全性很大程度上取决于密钥流的特性,伪随机序列通常被作为流密码系统中的密钥流使用.序列的非线性复杂度定义为生成该序列所需最短反馈移位寄存器的级数,是衡量其伪随机特性的重要指标之一.为了确保通讯的安全,密钥流序列需要具有较大的非线性复杂度.由于周期序列总是可以视作其最小周期的无限重复扩展,这促使我们以有限长序列的角度去观测周期序列非线性复杂度的相关性质,从而去构
在过去的几十年里,实验和理论的惊人吻合表明标准模型在描述电弱物理方面是成功的,例如发现了规范玻色子W,Z,粲,底,顶夸克以及解决了曾经引起物理学家普遍关注的Rb,Rc问题,但是,标准模型也存在着问题,它没有给出中微子质量,不能提供暗物质的候选者,存在规范等级,平庸性等一系列问题.因此,标准模型只能作为一个低能有效理论,在某一能标之上的东西需引入新的理论来解释。顶夸克是标准模型中最重的费米子,巨大的
农村集体经济是建国初期在农村合作化的基础上发展起来的,是公有制经济的一种形式,是当前农村经济的重要载体,也是实现我国农村经济发展的重要推力。农村集体经济是党在农村基层政权的主要基石,是创新农村社会治理的物质基础。目前城市和农村的经济发展差距仍然很大,为了缩小城乡发展差距,推动农村地区经济的发展,发展壮大村级集体经济是当前经济发展需要进一步地探究和创新的重要内容。因此,在对村级集体经济的研究中,首先
流密码是对称密码算法的一种,具有加密和解密速度快、可操作性强等优点,在密码系统中应用广泛.流密码的安全性依赖于密钥序列的随机性,序列的非线性复杂度是衡量密钥序列随机性的重要指标之一.序列的非线性复杂度是指生成给定序列最短的非线性反馈移位寄存器的级数.自动序列是一类特殊的无穷序列,经研究发现自动序列的随机性介于随机序列和周期序列之间,但没有随机序列复杂.本文将探讨由两个参数k,a确定的一类自动序列S
学位
粒子物理的标准模型是描述基本粒子及其强相互作用和电弱相互作用的规范理论。在过去的几十年里已经得到了大量实验的精确检验,但是它仍然存在一些问题,比如无法解释中微子质量、电弱破缺机制尚不清楚等。因此,标准模型只能是一个低能有效的理论,在高能区域可能被更基本的理论取代。探索标准模型之外的新物理成为当前高能粒子物理最重要的任务之一顶夸克作为标准模型预言的最重的粒子,其质量接近于电弱破缺能标,使它成为基本粒
近几年层出不穷的食品安全问题,引起了社会各界的高度重视,例如“地沟油”、“瘦肉精”、“僵尸肉”等都是长期潜伏在人们身边的食品安全问题。现阶段命名实体识别在食品安全领域尚且还在初步探究阶段,对于多分类的食品安全领域命名实体识别更是凤毛麟角。食品安全新闻中的文本数据是最能反映食品安全问题的关键,而不论是对于食品安全新闻的信息提取,食品安全领域的问答系统构建,亦或是食品安全领域知识图谱可视化的构建等,针
基于区块链技术的信息服务具备突出的可信与共享特性,正快速在数字金融、电子存证等领域形成增值应用。但是,无授信的区块链信息服务不能自证信息的真实合法,区块链信息记录的不可逆特性和节点信息的快速同步存储特性增加了监管难度,非法无序的区块链信息服务将成为网络空间安全隐患。2019年,国家互联网信息办公室颁布了《区块链信息服务管理规定》,对区块链信息服务提供者、监管者以及信息服务内容、安全评估要求等进行了
理论和实验上均存在证据表明强子对撞机上很可能会发现一个标量Higgs粒子,寻找和发现Higgs粒子是当前对撞机的主要目的,但是这个Higgs粒子仍未发现。所以,人们试图在标准模型(SM)之外的模型中寻找Higgs粒子。SM的最简单扩充为双Higgs二重态模型(THDM),之后人们又试着引入色指标,形成如色八重态电弱二重态模型。对SM和THDM施加幺正约束相对简单,但目前还没有工作涉及到对色八重态电