CN109871318B - 一种基于软件运行网络的关键类识别方法 - Google Patents

一种基于软件运行网络的关键类识别方法 Download PDF

Info

Publication number
CN109871318B
CN109871318B CN201910033597.2A CN201910033597A CN109871318B CN 109871318 B CN109871318 B CN 109871318B CN 201910033597 A CN201910033597 A CN 201910033597A CN 109871318 B CN109871318 B CN 109871318B
Authority
CN
China
Prior art keywords
class
cdn
classes
software
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910033597.2A
Other languages
English (en)
Other versions
CN109871318A (zh
Inventor
潘伟丰
徐欣欣
王家乐
姜波
柴春来
朱云芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201910033597.2A priority Critical patent/CN109871318B/zh
Publication of CN109871318A publication Critical patent/CN109871318A/zh
Application granted granted Critical
Publication of CN109871318B publication Critical patent/CN109871318B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于软件运行网络的关键类识别方法,包括以下步骤:将Java语言编写的软件在运行时的方法调用过程抽象为一种软件运行网络—方法调用网;通过对方法调用网的映射,构建类依赖网;基于类依赖网计算类节点的g核数;以类节点的g核数作为其重要性的度量指标进行降序排序,得到关键类。现有技术主要基于软件源代码的静态分析,所构建的用于描述类及类间关系的模型不够准确。同时,所使用的度量指标未能准确刻画类的重要性。本发明弥补了现有技术的不足,使用一种基于软件运行的动态分析方法,并使用g核数度量类的重要性,进而识别关键类。本发明对于提高软件理解效率、代码维护效率等具有重要意义。

Description

一种基于软件运行网络的关键类识别方法
技术领域
本发明涉及一种软件关键类识别方法,尤其涉及一种基于软件运行网络的关键类识别方法。
背景技术
计算机软件在我们生活中扮演着越来越重要的角色,软件的一点点故障都可能导致灾难性的后果。然而软件的开发是一个非常复杂的智力活动,特别是随着软件复杂性的增加,软件中的错误不可避免。同时,软件的需求具有不确定性。在软件的生命周期中总会不断涌现新的需求。软件为了保持持续的活力,必须不断的演化以适应新的需求。软件的演化也会引入新的错误,特别是当软件的规模变的异常大。因此,为了降低软件维护过程中错误引入的概率,必须对所维护的软件具有很好的理解。然而,理解软件并不是一件容易的事情,特别是当软件变得异常复杂的时候。因此,提供一种有效的技术来辅助维护人员对软件的理解,进而简化软件的维护工作,降低软件引入错误的概率,提高软件的质量对于日常的软件维护工作具有重要的意义。
软件如此复杂,我们应该从何处开始理解软件呢?研究表明,从软件的关键元素(包、类、方法、属性等)开始理解软件是一种可行的方法,即首先理解关键的元素,然后顺着元素间的依赖关系,理解与关键元素相关的元素,以此类推,从而逐步理解整个软件。在关键元素识别方面已有不少工作:Zaidman等人构建了静态类依赖图,并使用HITS算法识别关键类。周毓明等人用类依赖图抽象类粒度的软件系统,并使用PageRank算法、HITS和介数中心性等方法识别关键类。姜淑娟等人构建了软件的状态转换模型,进而通过计算状态转换树节点的复杂度来识别关键类。潘伟丰等人构建了类粒度、包粒度的软件结构图,进而通过使用PageRank算法识别软件中的关键类和关键包。尽管目前已经有一些软件关键元素识别方面的工作,但是仍有如下不足:
(1)现有的关键类识别方面的工作,主要基于对软件源代码的静态分析,缺少对软件实际运行时的动态分析。静态分析不需要运行软件,仅仅依靠软件源代码,提取的元素间的关系实际上是一种“最坏”情况下的关系,可能包含多余的关系;动态分析需要运行软件,收集软件运行过程中的元素及元素间的关系,代表的是元素间的真实交互。动态分析比静态分析更准确。
(2)现有的用于度量类重要性的指标,往往基于类间的交互关系及其强度构建指标,忽视了类的度(交互的其它类的数量)对类重要性的影响,未能准确刻画类的重要性。
包、类、方法是软件不同层次的元素。包层次的粒度过于大,方法层次的粒度过于细,选择从类粒度开始理解软件是一种可行的方法。提出一种基于软件运行网络的关键类识别方法可以弥补现有工作的不足,从而构建更加准确的模型表达类及类间依赖,并提出更加准确的度量指标量度类的重要性,为软件理解及软件维护工作提供技术支持。
发明内容
本发明的目的在于针对现有技术的不足,提供了一种基于软件运行网络的关键类识别方法。
本发明的上述技术问题主要是通过下述技术方案得以解决的:一种基于软件运行网络的关键类识别方法,该方法包括以下步骤:
(1)将Java语言编写的软件在运行时的方法调用过程抽象为一种软件运行网络—方法调用网FCN=(N,D)。其中,N为软件中的方法节点的集合;D={(fi,fj)}(fi∈N,fj∈N)是无向边的集合,表示方法间的调用关系;每条边将被赋予一个非负整数,作为方法调用关系的强度值。
(2)基于步骤(1)完成的FCN构建类依赖网CDN=(Nc,Dc)。其中,Nc为FCN中方法所在的类节点的集合;Dc={(ci,cj)}(ci∈Nc,cj∈Nc)是一个无向边的集合,表示类之间的依赖关系;CDN中的每条边将被赋予一个非负整数,作为类之间依赖关系的强度值。
(3)基于步骤(2)完成的CDN计算类节点i的g核数g(i),作为节点相应类的重要性值。
(4)基于步骤(3)所得的类节点的g核数对类节点进行降序排列,得到关键类。
进一步地,上述步骤(1)中的方法和方法间的调用关系是根据该Java软件在Java虚拟机上实际运行过程中获取的,是一种动态分析,而非基于源代码的静态分析。
进一步地,上述步骤(1)中边上的强度值指的是方法之间的调用次数。调用次数是根据该Java软件在Java虚拟机上实际运行过程中获取的,是一种动态分析,而非基于源代码的静态分析。
进一步地,上述步骤(2)中的类是根据FCN中的方法获得的。FCN中方法被定义的类成为CDN中的类。同时,CDN中的类是Java中的类、内部类、抽象类和接口的统称。
进一步地,上述步骤(2)中类之间的依赖关系是根据FCN中方法间的调用关系得到的,即类包含的方法间若存在调用关系,则相应的类之间存在依赖关系。
进一步地,上述步骤(2)中类之间的依赖关系的强度值是根据FCN中方法间的调用关系的强度值得到的,即类包含的方法间的强度值之和是相应的类之间依赖关系的强度值。
进一步地,上述步骤(2)中CDN的构建具体包括以下子步骤:
(2.1)提取FCN中方法所在的所有类,构建一个只有节点没有边的CDN,即CDN=(Nc,Dc=Φ)。Φ代表边集为空。
(2.2)取步骤(1)D中的一条边(fi,fj)∈D,根据fi和fj的命名规则确定其定义的类,假设fi在类k中定义,fj在类p中定义。若k≠p,且(k,p)不在Dc内,则将(k,p)加入Dc,同时边(k,p)的强度值为边(fi,fj)上的强度值;若k≠p,且(k,p)已在Dc内,则更新Dc内(k,p)边上的强度值,使其新强度值等于原来的值加上边(fi,fj)上的强度值。若k与p相等,则不做任何处理。
(2.3)重复步骤(2.2),直到遍历完FCN中的所有边。
进一步地,上述步骤(3)中类节点i的g核数g(i)的计算具体包括以下子步骤:
(3.1)求步骤(2)所得CDN中所有类节点的加权度。类节点j的加权度wj定义为CDN中与该类节点相连的所有边的强度值和,即:
Figure BDA0001945106160000031
其中,vj是类节点j的邻居类节点集合;w(j,m)是边(j,m)上的强度值。
(3.2)求步骤(2)所得CDN中所有类节点的度。类节点j的度kj定义为CDN中与该类节点相连的边数。
(3.3)求步骤(2)所得CDN中所有节点的几何平均度。类节点j的几何平均度sj数值上等于最接近wj和kj积的算术平方根的整数。sj计算公式为:
Figure BDA0001945106160000032
其中,round(n)返回最接近数值n的整数。
(3.4)求步骤(2)所得CDN的g核(g=1,2,3,…):反复去掉CDN中几何平均度小于g的类节点及其连边,得到的子图即为CDN的g核。
(3.5)求步骤(2)所得CDN中所有类节点的g核数:比较g核和(g+1)核中的类节点,若类节点存在于g核中,但是在(g+1)核中被删除,便可得到该类节点的g核数为g。
进一步地,上述步骤(4)中,使用冒泡排序算法对类节点进行降序排列。
进一步地,上述步骤(4)中,降序排列后,将排名前15%(向上取整)的类作为所识别的关键类。
与现有技术相比,本发明具有以下优点和积极效果:
(1)本发明中FCN和CDN的构建是基于Java软件在运行时的动态分析构建的,代表了软件中的方法及方法间、类和类之间的真实交互关系,比基于软件源代码的静态分析方法更加准确,在一定程度上克服了基于静态分析的关键元素识别方法模型不准确的问题。
(2)本发明提出用基于g核分解的方法识别软件中的关键类,在一定程度上克服了现有方法忽视类的度(交互的其它类的数量)对类重要性影响的问题,可以为软件理解、代码维护等工作提供技术支持。
附图说明
图1本发明的Java语言编写的源代码;
图2本发明的实施例构建的FCN;
图3本发明的实施例构建的只有节点没有边的CDN;
图4本发明的实施例构建的包含一条边的CDN;
图5本发明的实施例构建的最终CDN;
图6本发明的实施例的g核求解过程。
具体实施方式
下面通过实施例并结合附图对本发明的技术方案作进一步的说明:
本发明提出的一种基于软件运行网络的关键类识别方法,具体步骤如下:
(1)将Java语言编写的软件在运行时的方法调用过程抽象为一种软件运行网络—方法调用网FCN=(N,D)。图1所示的是一个Java源代码。按照图1所给的Java源代码,当其在JVM上运行时,首先运行Calculator.main(String[]args)方法,然后通过Calculator.main(String[]args)方法调用ADD.add(int augent,int addend)方法9次,通过Calculator.main(String[]args)方法调用SUB1.sub1(int augend,int addend)方法1次;SUB1.sub1(int augend,int addend)在运行的时候调用SUB2.sub2(int augend,int addend)和ADD.add(int augent,int addend)各1次。上述方法都是按照“类名.方法名.参数列表”的形式命名的,是各方法的完整名字。根据图1所示Java源代码的运行状况,可以得到如图2所示的FCN,节点边的文字为节点相应方法的名字。其中,N={main,sub1,sub2,add}为方法节点的集合(为简便,忽略了各方法所在类的类名及各方法的参数列表);D={(main,sub1),(main,add),(sub1,sub2),(sub1,add)}是无向边的集合,表示方法间的调用关系;边上的数字代表调用关系的频次。
(2)基于步骤(1)完成的FCN构建类依赖网CDN=(Nc,Dc)。CDN的构建具体包括以下子步骤:
(2.1)提取FCN中方法所在的所有类,构建一个只有节点没有边的CDN,即CDN=(Nc,Dc=Φ)。Φ代表边集为空。按照图1所给的Java源代码片段,可以构建相应的CDN=(Nc,Dc=Φ)(如图3所示),其中,Nc={Calculator,ADD,SUB1,SUB2}为源代码中类节点的集合,节点边的文字为节点相应类的名字。
(2.2)取步骤(1)D中的一条边(fi,fj)∈D,根据fi和fj的命名规则确定其定义的类,假设fi在类k中定义,fj在类p中定义。若k≠p,且(k,p)不在Dc内,则将(k,p)加入Dc,同时边(k,p)的强度值为边(fi,fj)上的强度值;若k≠p,且(k,p)已在Dc内,则更新Dc内(k,p)边上的强度值,使其新强度值等于原来的值加上边(fi,fj)上的强度值。若k与p相等,则不做任何处理。如图2所示,若取边(main,add),因main在Calculator类中定义,add在类ADD中定义,且Calculator与ADD不是同一类,故将(Calculator,ADD)加入Dc。同时,边(Calculator,ADD)的强度值为9,可以得到图4所示CDN。
(2.3)重复步骤(2.2),直到遍历完FCN中的所有边,可以得到图5所示的最终CDN。
(3)基于步骤(2)完成的CDN计算类节点i的g核数g(i),作为节点相应类的重要性值。类节点i的g核数g(i)的计算具体包括以下子步骤:
(3.1)求步骤(2)所得CDN中所有类节点的加权度。类节点j的加权度wj定义为CDN中与该类节点相连的所有边的强度值和,即:
Figure BDA0001945106160000041
其中,vj是类节点j的邻居类节点集合;w(j,m)是边(j,m)上的强度值。因此,图5中类节点Calculator的加权度wCalculator=9+1=10,SUB1的加权度为wSUB1=1+1+1=3,SUB2的加权度wSUB2=1,ADD的加权度为wADD=9+1=10。
(3.2)求步骤(2)所得CDN中所有类节点的度。类节点j的度kj定义为CDN中与该类节点相连的边数。因此,图5中方法节点Calculator的度kCalculator=1+1=2,SUB1的度为kSUB1=1+1+1=3,SUB2的度kSUB2=1,ADD的度为kADD=1+1=2。
(3.3)求步骤(2)所得CDN中所有节点的几何平均度。类节点j的几何平均度sj数值上等于最接近wj和kj积的算术平方根的整数。sj计算公式为:
Figure BDA0001945106160000051
其中,round(n)返回最接近数值n的整数。因此,图5中方法节点Calculator的几何平均度
Figure BDA0001945106160000052
Figure BDA0001945106160000053
(3.4)求步骤(2)所得CDN的g核(g=1,2,3,…):反复去掉CDN中几何平均度小于g的类节点及其连边,得到的子图即为CDN的g核。图5的g核求解过程如图6所示。
计算1核(g=1)。基于步骤(3.3)可得
Figure BDA0001945106160000054
Figure BDA0001945106160000055
故所得1核图如图6(左二)所示。
计算2核(g=2)。基于1核,同时因为
Figure BDA0001945106160000056
Figure BDA0001945106160000057
故在2核中,原1核中的节点SUB2及与其相连的边将被移除,所得2核图如图6(左三)子图所示。
计算3核(g=3)。基于2核,同时重新计算各个节点的几何平均度,如图6(左三)子图所示,因为
Figure BDA0001945106160000058
故在3核中,原2核中的节点SUB1及与其相连的边将被移除,所得3核图如图6(左四)子图所示。
计算4核(g=4)。基于3核,同时重新计算各个节点的几何平均度,如图6(左四)子图所示,因为
Figure BDA0001945106160000059
故在4核中,原3核中的节点Calculator,ADD及与它们相连的边都将被移除,所得4核为空,即图5不存在4核。
(3.5)求步骤(2)所得CDN中所有类节点的g核数:比较g核和(g+1)核中的类节点,若类节点存在于g核中,但是在(g+1)核中被删除,便可得到该类节点的g核数为g。如在图6中,因节点SUB2在1核中,但是不在2核中,故其g核数为1。同理可得,节点SUB1的g核数为2,Calculator和ADD的g核数为3。
(4)基于步骤(3)所得的类节点的g核数,使用冒泡排序算法对类节点进行降序排列,将排名前15%(向上取整,15%是现有技术普遍采用的一个值)的类作为所识别的关键类。基于步骤(3.5)的结果,所得排序结果为(Calculator=ADD:3)>(SUB1:2)>(SUB2:1)。故排名前15%(15%*4=0.6,取整为1)的类节点是Calculator或ADD。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明,实施例中Calculator和ADD的值相等,这只是现实中可能的一种情况,但并不代表所有的情况都是如此。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (8)

1.一种基于软件运行网络的关键类识别方法,其特征在于,包括以下步骤:
(1)将Java语言编写的软件在运行时的方法调用过程抽象为一种软件运行网络—方法调用网FCN=(N,D)。其中,N为软件中的方法节点的集合;D={(fi,fj)}(fi∈N,fj∈N)是无向边的集合,表示方法间的调用关系;每条边将被赋予一个非负整数,作为方法调用关系的强度值; 边上的强度值指的是方法之间的调用次数;调用次数以及方法和方法间的调用关系是根据该Java软件在Java虚拟机上实际运行过程中获取的,是一种动态分析,而非基于源代码的静态分析;
(2)基于步骤(1)完成的FCN构建类依赖网CDN=(Nc,Dc)。其中,Nc为FCN中方法所在的类节点的集合;Dc={(ci,cj)}(ci∈Nc,cj∈Nc)是一个无向边的集合,表示类之间的依赖关系;CDN中的每条边将被赋予一个非负整数,作为类之间依赖关系的强度值;
(3)基于步骤(2)完成的CDN计算类节点i的g核数g(i),作为节点相应类的重要性值;
(4)基于步骤(3)所得的类节点的g核数对类节点进行降序排列,得到关键类。
2.根据权利要求1所述一种基于软件运行网络的关键类识别方法,其特征在于,所述的步骤(2)中的类是根据FCN中的方法获得的; FCN中方法被定义的类成为CDN中的类; 同时,CDN中的类是Java中的类、内部类、抽象类和接口的统称。
3.根据权利要求1所述一种基于软件运行网络的关键类识别方法,其特征在于,所述的步骤(2)中类之间的依赖关系是根据FCN中方法间的调用关系得到的,即类包含的方法间若存在调用关系,则相应的类之间存在依赖关系。
4.根据权利要求1所述一种基于软件运行网络的关键类识别方法,其特征在于,所述的步骤(2)中类之间的依赖关系的强度值是根据FCN中方法间的调用关系的强度值得到的,即类包含的方法间的强度值之和是相应的类之间依赖关系的强度值。
5.根据权利要求1所述一种基于软件运行网络的关键类识别方法,其特征在于,所述的步骤(2)中CDN的构建具体包括以下子步骤:
(2.1)提取FCN中方法所在的所有类,构建一个只有节点没有边的CDN,即CDN=(Nc,Dc=Φ)。Φ代表边集为空;
(2.2)取步骤(1)D中的一条边(fi,fj)∈D,根据fi和fj的命名规则确定其定义的类,假设fi在类k中定义,fj在类p中定义。若k≠p,且(k,p)不在Dc内,则将(k,p)加入Dc,同时边(k,p)的强度值为边(fi,fj)上的强度值;若k≠p,且(k,p)已在Dc内,则更新Dc内(k,p)边上的强度值,使其新强度值等于原来的值加上边(fi,fj)上的强度值。若k与p相等,则不做任何处理;
(2.3)重复步骤(2.2),直到遍历完FCN中的所有边。
6.根据权利要求1所述一种基于软件运行网络的关键类识别方法,其特征在于,所述的步骤(3)中类节点i的g核数g(i)的计算具体包括以下子步骤:
(3.1)求步骤(2)所得CDN中所有类节点的加权度。类节点j的加权度wj定义为CDN中与该类节点相连的所有边的强度值和,即:
Figure FDA0003566966900000021
其中,vj是类节点j的邻居类节点集合;w(j,m)是边(j,m)上的强度值;
(3.2)求步骤(2)所得CDN中所有类节点的度; 类节点j的度kj定义为CDN中与该类节点相连的边数;
(3.3)求步骤(2)所得CDN中所有节点的几何平均度; 类节点j的几何平均度sj数值上等于最接近wj和kj积的算术平方根的整数; sj计算公式为:
Figure FDA0003566966900000022
其中,round(n)返回最接近数值n的整数;
(3.4)求步骤(2)所得CDN的g核(g=1,2,3,…):反复去掉CDN中几何平均度小于g的类节点及其连边,得到的子图即为CDN的g核;
(3.5)求步骤(2)所得CDN中所有类节点的g核数:比较g核和(g+1)核中的类节点,若类节点存在于g核中,但是在(g+1)核中被删除,便可得到该类节点的g核数为g。
7.根据权利要求1所述一种基于软件运行网络的关键类识别方法,其特征在于,所述的步骤(4)中,使用冒泡排序算法对类节点进行降序排列。
8.根据权利要求1所述一种基于软件运行网络的关键类识别方法,其特征在于,所述的步骤(4)中,降序排列后,将排名前15%向上取整的类作为所识别的关键类。
CN201910033597.2A 2019-01-14 2019-01-14 一种基于软件运行网络的关键类识别方法 Active CN109871318B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910033597.2A CN109871318B (zh) 2019-01-14 2019-01-14 一种基于软件运行网络的关键类识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910033597.2A CN109871318B (zh) 2019-01-14 2019-01-14 一种基于软件运行网络的关键类识别方法

Publications (2)

Publication Number Publication Date
CN109871318A CN109871318A (zh) 2019-06-11
CN109871318B true CN109871318B (zh) 2022-05-17

Family

ID=66917733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910033597.2A Active CN109871318B (zh) 2019-01-14 2019-01-14 一种基于软件运行网络的关键类识别方法

Country Status (1)

Country Link
CN (1) CN109871318B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309805A (zh) * 2013-04-24 2013-09-18 南京大学镇江高新技术研究院 xUnit框架下面向对象软件中测试目标的自动化选择方法
CN105389192A (zh) * 2015-12-18 2016-03-09 浙江工商大学 一种基于加权q2指数的软件类重要性度量方法
CN105487913A (zh) * 2015-12-18 2016-04-13 浙江工商大学 一种基于加权a指数的软件包重要性度量方法
CN108536471A (zh) * 2018-03-21 2018-09-14 北京航空航天大学 一种基于复杂网络的软件结构重要模块识别方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467374B2 (en) * 2003-11-05 2008-12-16 Microsoft Corporation Serialization for structured tracing in managed code

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309805A (zh) * 2013-04-24 2013-09-18 南京大学镇江高新技术研究院 xUnit框架下面向对象软件中测试目标的自动化选择方法
CN105389192A (zh) * 2015-12-18 2016-03-09 浙江工商大学 一种基于加权q2指数的软件类重要性度量方法
CN105487913A (zh) * 2015-12-18 2016-04-13 浙江工商大学 一种基于加权a指数的软件包重要性度量方法
CN108536471A (zh) * 2018-03-21 2018-09-14 北京航空航天大学 一种基于复杂网络的软件结构重要模块识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于软件网络加权k-核分析的关键类识别方法";潘伟丰等;《电子学报》;20180830;第46卷(第5期);1071-1077页,图1-2 *

Also Published As

Publication number Publication date
CN109871318A (zh) 2019-06-11

Similar Documents

Publication Publication Date Title
CN111722839B (zh) 一种代码生成方法、装置、电子设备及存储介质
US9195952B2 (en) Systems and methods for contextual mapping utilized in business process controls
US8019756B2 (en) Computer apparatus, computer program and method, for calculating importance of electronic document on computer network, based on comments on electronic document included in another electronic document associated with former electronic document
CN110795455A (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
US11599539B2 (en) Column lineage and metadata propagation
CN104866426A (zh) 软件测试综合控制方法及系统
CN111061833A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN114416855A (zh) 一种基于电力大数据的可视化平台及方法
CN109285024B (zh) 在线特征确定方法、装置、电子设备及存储介质
CN114461644A (zh) 一种数据采集方法、装置、电子设备及存储介质
US11314489B1 (en) Automated authoring of software solutions by first analyzing and resolving anomalies in a data model
CN114064925A (zh) 知识图谱的构建方法、数据查询方法、装置、设备和介质
US10360208B2 (en) Method and system of process reconstruction
CN113378007B (zh) 数据回溯方法及装置、计算机可读存储介质、电子设备
CN109871318B (zh) 一种基于软件运行网络的关键类识别方法
CN115757304A (zh) 一种日志存储方法、装置、系统、电子设备及存储介质
CN115203435A (zh) 基于知识图谱的实体关系生成方法及数据查询方法
CN115840738A (zh) 一种数据迁移方法、装置、电子设备及存储介质
CN109976807B (zh) 一种基于软件运行网络的关键包识别方法
CN115495587A (zh) 一种基于知识图谱的告警分析方法及装置
CN115455091A (zh) 数据生成方法、装置、电子设备和存储介质
US20230097665A1 (en) Tag domain presentation device, tag domain presentation method, and information processing system using the same
CN115221337A (zh) 数据编织处理方法、装置、电子设备及可读存储介质
CN109947428B (zh) 一种基于软件稳定性度量的优质软件推荐方法
CN109918129B (zh) 一种基于g核分解的软件关键函数识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant