CN105068789B - 一种对象使用场景提取方法及装置 - Google Patents
一种对象使用场景提取方法及装置 Download PDFInfo
- Publication number
- CN105068789B CN105068789B CN201510404171.5A CN201510404171A CN105068789B CN 105068789 B CN105068789 B CN 105068789B CN 201510404171 A CN201510404171 A CN 201510404171A CN 105068789 B CN105068789 B CN 105068789B
- Authority
- CN
- China
- Prior art keywords
- usage scenario
- function
- parent
- object usage
- class
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000000605 extraction Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 6
- 239000010751 BS 2869 Class A2 Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009412 basement excavation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种对象使用场景提取方法及装置,该方法包括:获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列;根据目标类确定第一父类;第一父类为目标类的父类;从N个函数中确定出L个函数;L个函数均为第一父类的函数;N≥L>1;按照第一顺序排列L个函数,以生成第一父类的第二对象使用场景;第二对象使用场景为第一对象使用场景的继承子对象使用场景。本发明提供的方法及装置用以解决现有技术中进行组件协议挖掘时,存在的对象使用场景数量不足的技术问题。实现了可以通过运行少量应用程序来获得大量的对象使用场景的函数调用序列的技术效果。
Description
技术领域
本发明涉及程序挖掘技术领域,尤其涉及一种对象使用场景提取方法及装置。
背景技术
软件组件的接口函数之间通常存在着时序约束。使用软件组件时需要遵守的时序约束构成了该组件的一个协议,即组件协议。这种协议规定了接口函数之间调用的先后顺序。如下所示,分别展示了类java.util.Stack和java.util.Iteration的一个时序约束:
调用Stack类的peek()函数查看栈顶元素之前,应该先调用push()向栈中插入一个元素;
调用Iteration类的next()函数获取下一个元素之前应该先调用hasNext()函数查看下一个元素是否存在。
这种约束信息可以用于程序说明、程序测试和程序验证等领域。例如:程序违反上述时序约束(1)时,会导致EmptyStackException异常;违反时序约束(2)会导致NoSuchElementException异常。
程序组件协议挖掘是自动化的获得组件协议的一种有效方法。其从大量应用程序使用组件时的函数调用序列中提取公共的序列模式作为组件协议。其一般步骤为:首先从程序中获取程序执行轨迹,即函数调用序列,然后根据被调函数之间的数据依赖从函数调用序列中分离出对象使用场景,最后采用序列化数据挖掘方法从对象使用场景中归纳出采用各种形式描述的组件协议,其中,对象使用场景的具体表现形式为函数调用序列。
对象使用场景作为组件协议挖掘器的输入数据,其质量和数量是获取准确而完备的组件协议的关键因素之一。而当前提取对象使用场景的方法是分析函 数调用信息,即程序执行轨迹,其中基于同一个对象实例被调用的所有函数构成的函数调用序列即一个对象使用场景,上述对象场景提取方法具有下述特点:(1)对象使用场景的数量与程序运行过程中覆盖的对象实例的数量相等;(2)一个对象使用场景代表了应用程序对组件的一种使用方法。通过提取大量对象使用场景中存在的公共序列模式即可获得使用组件应该遵循的协议。然而,当一个类在应用程序中很少被使用时,会导致对象使用场景数量不足的问题。更进一步,在时序约束挖掘时可能出现过拟合现象。虽然通过分析多个应用程序可以缓解该问题,然而其会产生较大的程序运行时间开销。
可见,当前进行组件协议挖掘时,存在对象使用场景数量不足的技术问题。
发明内容
本发明提供一种对象使用场景提取方法及装置,用以解决现有技术中进行组件协议挖掘时,存在的对象使用场景数量不足的技术问题。
第一方面,提供一种对象使用场景提取方法,包括:
获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
可选的,所述根据所述目标类确定第一父类,具体为:
根据预先定义的类继承树和所述目标类确定第一父类;所述类继承树中定义了类之间的继承关系和类包含的函数。
可选的,所述第一父类的函数包括:从所述第一父类的父类处继承的函数, 和定义到所述第一父类的函数。
可选的,当所述目标类的继承深度为M时,能根据所述第一对象使用场景提取出的继承子对象使用场景的最大数量为M;M为正整数。
第二方面,提供一种对象使用场景提取装置,包括:
获取单元,用于获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
第一确定单元,用于根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
第二确定单元,用于从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
生成单元,用于按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
可选的,所述第一确定单元还用于:
根据预先定义的类继承树和所述目标类确定第一父类;所述类继承树中定义了类之间的继承关系和类包含的函数。
可选的,所述第一父类的函数包括:从所述第一父类的父类处继承的函数,和定义到所述第一父类的函数。
可选的,当所述目标类的继承深度为M时,能根据所述第一对象使用场景提取出的继承子对象使用场景的最大数量为M;M为正整数。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的对象使用场景提取方法及装置,根据面向对象程序中对象之间具有的继承关系,能够从目标类的单个对象使用场景,分离出其父类的对象使用场景,且重复使用所述对象场景提取方法,可以从单个对象使用场景提取出多个对象使用场景的;即实现了可以通过运行少量应用程序来获得大 量的对象使用场景的技术效果,为挖掘准确而完备的组件协议奠定了数据基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中对象使用场景提取方法的步骤图;
图2为本发明实施例一中对象使用场景提取的示例图;
图3为本发明实施例中对象使用场景提取装置的结构图。
具体实施方式
本申请实施例通过提供一种对象使用场景提取方法及装置,用以解决现有技术中进行组件协议挖掘时,存在的对象使用场景数量不足的技术问题。实现了可以通过运行少量应用程序来获得大量的对象使用场景的技术效果。
为解决上述技术问题,本申请实施例提供技术方案的总体思路如下:
本申请提供一种对象使用场景提取方法,包括:
获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
通过上述内容可以看出,本申请实施例提供的对象使用场景提取方法及装置,根据面向对象程序中对象之间具有的继承关系,能够从目标类的单个对象使用场景的,分离出其父类的对象使用场景,而重复使用所述对象场景提取方法,可以从单个对象使用场景提取出多个对象使用场景;即实现了可以通过运行少量应用程序来获得大量的对象使用场景的技术效果,为挖掘准确而完备的组件协议奠定了数据基础。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种对象使用场景提取方法,请参考图1,图1为本实施例提供的对象使用场景提取方法的步骤图,如图1所示,所述方法包括:
步骤S101,获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
步骤S102,根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
步骤S103,从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
步骤S104,按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
在本申请实施例中,所述函数为接口函数,即公有函数。
具体来讲,所述对象使用场景提取方法的实施原理为:
在面向对象程序中,对象之间具有继承关系。根据数据抽象和层次理论, 子类在继承和重写父类的操作时,不应违反父类附加在操作上的约束,包括时序约束。因此,给定类A的一个对象使用场景,即一个函数调用序列u,可以从u中分离出一个继承子对象使用场景u′,u′是u的一个子函数调用序列且其中的函数均从A的一个父类A′继承。派生的继承子对象使用场景u′可以用于挖掘父类A′的组件协议。当A有多个父类时,可以从u派生多个继承子对象使用场景。
下面详细介绍上述对象使用场景提取方法的具体实现步骤:
首先,执行步骤S101,获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
具体来讲,对于第一对象使用场景的含义,请参考下述例子:给定一个组件协议p,p的一个对象使用场景u是一个由p的接口函数构成的函数调用序列,其中所有函数均基于p的同一个对象实例被调用。为了叙述方便,采用ous(t)表示一个基于实例t的对象使用场景。以下列Java程序为例:
(1)FileInputStream fis=new FileInputStream(“filepath”);
(2)FileOutputStream fos=new FileOutputStream(“filepath”);
(3)byte[]buffer=new byte[1024];
(4)int count=0;
(5)while((count=fis.read(buffer))!=-1)
(6)fos.write(buffer,0,count);
(7)fis.close();
(8)fos.close();
其中包含如下所示的对象使用场景:
ous(fis):<FileInputStream(),read(),close()>,是类FileInputStream的一个对象使用场景,所有函数均基于对象实例fis而调用;
ous(fos):<FileOutputStream(),write(),close()>,是类FileOutputStream的一个对象使用场景,所有函数均基于对象实例fos而调用。
接下来,执行步骤S102,即根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
在本申请实施例中,所述根据所述目标类确定第一父类,具体为:
根据预先定义的类继承树和所述目标类确定第一父类;所述类继承树中定义了类之间的继承关系和类包含的函数。
在具体实施过程中,所述类继承树可以预先通过代码来定义,例如:
上述代码定义了类A0中包含m01、m02和m03这3个函数;
再例如:
上述代码定义了类A1继承于类A0,类A0是类A1的父类;类A1中包含m11、m12和m13这3个函数,还包含类A0中的m01、m02和m03这3个函数。
再下来,执行步骤S103,从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
在本申请实施例中,所述第一父类的函数包括:从所述第一父类的父类处继承的函数,和定义到所述第一父类的函数。
同样以上述代码为例,即类A1的函数包括:从其父类A0继承的m01、 m02和m03;还包括定义到类A1中的m11、m12和m13。
在具体实施过程中,可以先逐一的确定所述N个函数中的每个函数是否属于所述第一父类,并将确定出的所有属于所述第一父类的函数作为所述L个函数。
最后,执行步骤S104,按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景的第二函数调用序列;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
在本申请实施例中,所述目标类的第一父类也可能会存在父类,也可以采用上述对象使用场景提取方法来派生提取出所述第一父类的父类的对象使用场景,当所述目标类的继承深度为M时,能根据所述第一对象使用场景提取出的继承子对象使用场景的最大数量为M;M为正整数。
在具体实施过程中,当所述第一父类也存在父类,继承深度为M时,可以采用下述方法来推导出每个父类包含的函数:
先逐一的确定所述N个函数中的每个函数属于哪些父类,具体确定方法例如:假设一个函数调用o.m,其中o为对象实例,m为被调函数,T为o的动态类,T0表示m定义所在的基类,则执行下述步骤:
S1:获取函数调用信息o.m;
S2:获取o的动态类T和m定义所在的基类T0。以下列Java代码片段为例:
(1)OutputStream fos=new FileOutputStream(“filepath”);
(2)byte[]buffer=new byte[1024];
(3)fos.write(buffer,0,1024);
代码第3行有函数调用fos.write(),其中fos为对象实例,write()为被调函数,fos的动态类为FileOutputStream,根据FileOutputStream的继承树可知包含函数write()定义的基类为OutputStream;
S3:初始化类型变量t的值为o的动态类T;
S4:如果被调函数m不是t的函数,则单个函数调用处理结束;否则,执行步骤S5;
S5:确定t类的对象使用场景的函数调用序列中包含函数m;
S6:使t为t的父类型,即t=suptype(t),然后转到步骤S4。
按照以上方法对所述N个函数中的每个函数依次进行处理,直到程序分析结束。最后将每个父类的对象使用场景的函数队列按所述第一顺序排列构成了该父类的对象使用场景。
在具体实施过程中,由于对象使用场景的数量对于挖掘准确而完备的组件协议具有非常重要的意义,而从一个程序中收集的对象使用场景的数量很可能不够,为此,只能从多个程序中收集更多对象使用场景,但是运行多个应用程序会造成较大的时间开销,而采用本申请提供的方法,就可以从单个应用程序中提取出更多的对象使用场景,即可以在不增加应用程序数量的情况下获得更多的对象使用场景。
例如:给定一个面向对象程序p,其中包含对象实例o1,o2,…,om,对应的对象使用场景分别为u1,u2,…,um。假设对象实例对应的类的继承深度分别为d1,d2,…,dm,由于本发明提供的对象使用场景提取方法能够从一个对象使用场景中分离出的继承子对象使用场景数量最大为其类的继承深度,因此从p中获得的额外的对象使用场景数量最大为d1+d2+…+dm。令d为对象的平均继承深度,则有d1+d2+…+dm=m*d。
也就是说,一般来讲运行一次应用程序能够收集的对象使用场景的数量是与程序运行时覆盖的对象实例的个数相等的,而采用本发明提供的方法能够从单个面向对象程序中获得的对象使用场景数量比其中包含的对象实例数多出n倍,其中n为对象的平均继承深度。故通过运行少量应用程序便可能获得大量对象使用场景,为挖掘准确而完备的时序约束奠定了数据基础。在介绍了上述对象使用场景提取方法后,为了便于理解,下面以基于Java技术的使用场景提取为例,来说明如何从一个对象使用场景提取出多个继承子对象使用场景:
假设类继承树定义为:
假设当前获取了类A3的一个对象使用场景为<m01,m11,m03,m02,m12,m31,m32,m20,m23,m33>,其中所有函数均给予的同一个对象实例被调用,由类继承树知类A3的继承深度为3。
请参考图2,图2顶部给出了各函数的动态类和定义基类。对于每个函数 采用之前所述的方法逐一确定所述N个函数中的每个函数属于哪些父类。
以函数m11为例,确定m11属于哪些父类的方法为:
先初始化类型变量t的值为m11的动态类A3;根据类继承树判断出m11是类A3的函数,则确定类A3的对象使用场景中包含函数m11;
再使t为t的父类型,即t=suptype(A3)=A2,然后根据类继承树判断出m11是类A2的函数,则确定类A2的对象使用场景中包含函数m11;
再使t为t的父类型,即t=suptype(A2)=A1,然后根据类继承树判断出m11是类A1的函数,则确定类A1的对象使用场景中包含函数m11;
再使t为t的父类型,即t=suptype(A1)=A0,然后根据类继承树判断出m11不是类A0的函数,则结束对m11的处理。
当所有函数均按照上述方法处理后获得如图2底部所示的类A3、类A2、类A1和类A0的函数队列。将各队列中的函数按<m01,m11,m03,m02,m12,m31,m32,m20,m23,m33>的顺序串联起来即获得如下所示的4个对象使用场景:
(1)类A3的对象使用场景:<m01,m11,m03,m02,m12,m31,m32,m20,m23,m33>;
(2)类A2的对象使用场景:<m01,m11,m03,m02,m12,m20,m23>;
(3)类A1的对象使用场景:<m01,m11,m03,m02,m12>;
(4)类A0的对象使用场景:<m01,m03,m02>。
即完成从一个对象使用场景分离出了3个继承子对象使用场景,分别为类A2、A1和A0的对象使用场景。继承子对象使用场景的数量与类A3的继承深度相同。
在具体实施过程中,本实施例提供的对象使用场景提取方法不仅可以应用于程序约束挖掘,还可以应用于其它根据程序执行轨迹进行序列模式挖掘的情况。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置:
实施例二
本实施例提供了一种对象使用场景提取装置,如图3所示,所述装置包括:
获取单元301,用于获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
第一确定单元302,用于根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
第二确定单元303,用于从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
生成单元304,用于按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
在本实施例中,所述第一确定单元302还用于:
根据预先定义的类继承树和所述目标类确定第一父类;所述类继承树中定义了类之间的继承关系和类包含的函数。
在本实施例中,所述第一父类的函数包括:从所述第一父类的父类处继承的函数,和定义到所述第一父类的函数。
在本实施例中,当所述目标类的继承深度为M时,能根据所述第一对象使用场景提取出的继承子对象使用场景的最大数量为M;M为正整数。
本实施例中提供的装置与实施例一中的对象使用场景提取方法,是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚的了解本实施例中的装置结构及实施过程,为了说明书的简洁,在此就不再赘述了。
上述本申请实施例中的技术方案,具有至少一个如下的技术效果或优点:
本申请实施例提供的对象使用场景提取方法及装置,根据面向对象程序中对象之间具有的继承关系,能够从目标类的单个对象使用场景,分离出其父类的对象使用场景,而重复使用所述对象场景提取方法,可以从单个对象使用场 景提取出多个对象使用场景;即实现了可以通过运行少量应用程序来获得大量的对象使用场景的技术效果,为挖掘准确而完备的组件协议奠定了数据基础。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种对象使用场景提取方法,其特征在于,包括:
获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
2.如权利要求1所述的方法,其特征在于,所述根据所述目标类确定第一父类,具体为:
根据预先定义的类继承树和所述目标类确定第一父类;所述类继承树中定义了类之间的继承关系和类包含的函数。
3.如权利要求1所述的方法,其特征在于,所述第一父类的函数包括:从所述第一父类的父类处继承的函数,和定义到所述第一父类的函数。
4.如权利要求1-3任一所述的方法,其特征在于,当所述目标类的继承深度为M时,能根据所述第一对象使用场景提取出的继承子对象使用场景的最大数量为M;M为正整数。
5.一种对象使用场景提取装置,其特征在于,包括:
获取单元,用于获取目标类的第一对象使用场景;所述第一对象使用场景为依第一顺序调用的N个函数的序列,N为大于1的整数;
第一确定单元,用于根据所述目标类确定第一父类;所述第一父类为所述目标类的父类;
第二确定单元,用于从所述N个函数中确定出L个函数;所述L个函数均为所述第一父类的函数;N≥L>1;
生成单元,用于按照所述第一顺序排列所述L个函数,以生成所述第一父类的第二对象使用场景;所述第二对象使用场景为所述第一对象使用场景的继承子对象使用场景。
6.如权利要求5所述的装置,其特征在于,所述第一确定单元还用于:
根据预先定义的类继承树和所述目标类确定第一父类;所述类继承树中定义了类之间的继承关系和类包含的函数。
7.如权利要求5所述的装置,其特征在于,所述第一父类的函数包括:从所述第一父类的父类处继承的函数,和定义到所述第一父类的函数。
8.如权利要求5-7任一所述的装置,其特征在于,当所述目标类的继承深度为M时,能根据所述第一对象使用场景提取出的继承子对象使用场景的最大数量为M;M为正整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404171.5A CN105068789B (zh) | 2015-07-10 | 2015-07-10 | 一种对象使用场景提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404171.5A CN105068789B (zh) | 2015-07-10 | 2015-07-10 | 一种对象使用场景提取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105068789A CN105068789A (zh) | 2015-11-18 |
CN105068789B true CN105068789B (zh) | 2018-08-24 |
Family
ID=54498170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510404171.5A Expired - Fee Related CN105068789B (zh) | 2015-07-10 | 2015-07-10 | 一种对象使用场景提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105068789B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736980A (zh) * | 2012-06-29 | 2012-10-17 | 南京大学 | 一种面向Java程序的随机测试用例生成方法 |
CN102831057A (zh) * | 2012-08-13 | 2012-12-19 | 于秀山 | 一种用功能图分析软件功能变更及其影响的方法 |
CN102968372A (zh) * | 2012-11-29 | 2013-03-13 | 中国矿业大学 | 具有程序分析功能的程序调试系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426716B2 (en) * | 2003-07-11 | 2008-09-16 | Board Of Regents, The University Of Texas System | Recovery and representation of object interaction in an object oriented program |
-
2015
- 2015-07-10 CN CN201510404171.5A patent/CN105068789B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736980A (zh) * | 2012-06-29 | 2012-10-17 | 南京大学 | 一种面向Java程序的随机测试用例生成方法 |
CN102831057A (zh) * | 2012-08-13 | 2012-12-19 | 于秀山 | 一种用功能图分析软件功能变更及其影响的方法 |
CN102968372A (zh) * | 2012-11-29 | 2013-03-13 | 中国矿业大学 | 具有程序分析功能的程序调试系统 |
Non-Patent Citations (1)
Title |
---|
对象的功能扩充机制的比较研究;余秋惠;《计算机工程与设计》;20100628;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105068789A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3410322B1 (en) | Methods and computer-program for co-simulation | |
EP3093760A1 (en) | Device and method | |
EP3404572B1 (en) | Attack code detection device, attack code detection method, and attack code detection program | |
CN104331315B (zh) | 一种任意层次json对象的解析与生成方法及系统 | |
CN105281966A (zh) | 网络设备的异常流量识别方法及相关装置 | |
CN104731698A (zh) | 基于自动化测试的异常测试用例自动生成处理方法及装置 | |
CN103617114B (zh) | 基于条件与参数变异的第三方构件脆弱性测试方法 | |
US9606815B2 (en) | API prioritization and detection | |
NZ757969A (en) | Quantifying robustness by analyzing a property graph data model | |
CN105068789B (zh) | 一种对象使用场景提取方法及装置 | |
CN104392169B (zh) | 一种Native API函数重构方法和装置 | |
CN106919403B (zh) | 云环境下基于Java字节码的多粒度代码克隆检测方法 | |
CN105589847A (zh) | 带权重的文章标识方法和装置 | |
CN108446371A (zh) | 数据回导方法、装置、计算机设备及存储介质 | |
Conway et al. | Managing risks in the preservation of research data with preservation networks | |
CN110991079A (zh) | 基于神经网络的油气藏参数解释方法、装置及电子设备 | |
Claeys et al. | Tornado: A versatile and efficient modelling and virtual experimentation kernel for water quality systems | |
CN108536434A (zh) | 一种基于高级程序设计语言实现钩子函数的方法及装置 | |
CN109408577B (zh) | Oracle数据库json解析方法、系统、装置及可存储介质 | |
CN112131716A (zh) | 一种用于电力电子化电力系统的随机电磁暂态分析方法及系统 | |
EP3839781A1 (en) | Calculation device, calculation method, and calculation program | |
Alliance | TinyOS 2.1 adding threads and memory protection to TinyOS | |
CN111563007B (zh) | 运算错误修复方法、装置、计算机系统及可读存储介质 | |
CN105302425B (zh) | 一种应用对象的处理方法及电子设备 | |
AU2020477732B2 (en) | Estimation device, estimation method, and estimation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180824 |