CN109828760A - 基于函数摘要的程序文件分析方法及装置 - Google Patents

基于函数摘要的程序文件分析方法及装置 Download PDF

Info

Publication number
CN109828760A
CN109828760A CN201811625048.6A CN201811625048A CN109828760A CN 109828760 A CN109828760 A CN 109828760A CN 201811625048 A CN201811625048 A CN 201811625048A CN 109828760 A CN109828760 A CN 109828760A
Authority
CN
China
Prior art keywords
function
abstract
function object
analysis
objective
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.)
Pending
Application number
CN201811625048.6A
Other languages
English (en)
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.)
Beijing Qihu Ceteng Security Technology Co Ltd
Beijing Qianxin Technology Co Ltd
Original Assignee
Beijing Qihu Ceteng Security Technology Co Ltd
Beijing Qianxin Technology Co Ltd
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 Beijing Qihu Ceteng Security Technology Co Ltd, Beijing Qianxin Technology Co Ltd filed Critical Beijing Qihu Ceteng Security Technology Co Ltd
Priority to CN201811625048.6A priority Critical patent/CN109828760A/zh
Publication of CN109828760A publication Critical patent/CN109828760A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供的一种基于函数摘要的程序文件分析方法及装置,方法包括:获取目标程序文件中所有函数对象,根据函数对象生成函数调用图,从待分析函数对象队列中获取目标函数对象,根据函数调用图确定目标函数对象调用的关联函数对象,若目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到新函数摘要不再发生变化后,更新目标函数对象的函数摘要,若目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要,实现在基于函数摘要的迭代分析中引入并行处理,可以显著提高全局分析的效率。

Description

基于函数摘要的程序文件分析方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于函数摘要的程序文件分析方法及装置。
背景技术
程序静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。目前静态分析技术向模拟执行的技术发展以能够发现更多传统意义上动态测试才能发现的缺陷,例如符号执行、抽象解释、值依赖分析等等并采用数学约束求解工具进行路径约减或者可达性分析以减少误报增加效率。
目前分析方法就是完整程序分析(whole-program analysis),其目标是在完全了解调用函数上下文环境的基础上,对每个函数进行分析。例如,将被调用函数直接展开插入调用点,但这种方式将要求大量的时间和内存开销。而且面向对象程序设计中广泛采用的动态绑定技术使确定实际执行的函数版本更加困难。
发明内容
本发明提供一种基于函数摘要的程序文件分析方法及装置,用于解决上述问题。
第一方面,本发明实施例提供一种基于函数摘要的程序文件分析方法,包括:
获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图;
从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象;
若所述目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要;
若所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
第二方面,本发明实施例提供一种基于函数摘要的程序文件分析装置,其特征在于,包括:
生成模块,用于获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图;
确定模块,用于从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象;
第一判断模块,用于在所述目标函数对象属于环中的函数对象时,根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要;
第二判断模块,用于在所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象时,更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上述方法的步骤。
由上述技术方案可知,本发明实施例提供的一种基于函数摘要的程序文件分析方法及装置,通过获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图,从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象,若所述目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要,若所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要,实现在基于函数摘要的迭代分析中引入并行处理,同时优化函数的分析顺序,减少函数迭代分析的次数,可以在多核cpu平台上显著提高全局分析的效率。
附图说明
图1为本发明一实施例提供的基于函数摘要的程序文件分析方法的流程示意图;
图2为有向无环的函数调用图;
图3为有向有环的函数调用图;
图4为有向有环的函数调用图的变换示意图;
图5为有向有环的函数调用图的变换示意图;
图6为本发明一实施例提供的基于函数摘要的程序文件分析方法的整体流程示意图;
图7为本发明一实施例提供的基于函数摘要的程序文件分析装置的结构示意图;
图8为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1示出了本发明一实施例提供的一种基于函数摘要的程序文件分析方法,包括:
S11、获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图;
S12、从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象;
S13、若所述目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要;
S14、若所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
另外,若所述目标函数对象不属于环中的函数对象,则根据其调用的关联函数对象的关联函数摘要进行分析获取新函数摘要,并更新目标函数对象的函数摘要,更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
另外,若所述目标函数对象不属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要不作为下一目标函数对象分析时所需的关联函数摘要。
另外,若存在与所述目标函数对象无调用关系且在队列中同级的函数对象,则以并行处理方式分别作为目标函数对象进行分析,更新对应的函数摘要,并且更新后的函数摘要均作为下一目标函数对象分析时所需的关联函数摘要。
针对上述内容,需要说明的是,在本发明实施例中,程序文件由多个函数对象过程,在对程序文件进行分析时,需获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图,然后从函数调用图中可以建立待分析函数对象队列。在该队列中,能够表明每个函数对象分析的排列顺序。
上述步骤主要是针对从队列中获取的任一函数对象作为目标函数对象,进行的不同情况下进行不同处理方式的描述。为了更好的表现对整个队列中所有函数对象进行分析的连贯性,下面进行整体的详细说明:
在本发明实施例中,函数调用图的结构是有向无环图(Directed Acyclic Graph)如图2的函数调用图或者有向有环图(Directed Cycling Graph)如图3的函数调用图。
针对图2的函数调用图,描述的调用关系如下:
1)函数b1,c1,d1分别调用函数a1;
2)函数e1调用函数b1,c1,d1。
针对图3的函数调用图,描述的调用关系如下:
1)函数b2调用函数a2;
2)函数b2调用函数c2;;函数c2调用函数d2;;函数d2调用函数b2;
3)函数e2调用d2。
对于有向有环图的情况:可以看到函数调用图3对比函数调用图2;存在一个由函数b2,c2,d2构成的环形结构,环形结构中的所有函数相互调用,函数相互间关系复杂。对于这种情况;我们可以通过把环形结构抽象转换为一个虚拟的函数f2。如图4和图5所示,此时描述关系如下:
1)虚拟函数f2调用函数a2;
2)函数e2调用虚拟函数f2;
3)虚拟函数f2代表函数b2,c2,d2构成的环。
经过以上的分析可知,对于所有的函数调用图中既存在有向无环图又存在有向有环图,只需分别处理有向无环图中的函数和环中的函数两种情况即可。
如图6所示为本方法的流程示意图。
1、预处理函数调用图,通过对函数调用图中环抽象成一个虚拟函数,把函数调用图统一转换为有向无环图进行处理。
2、从函数调用图取出下一个待分析的函数集合。
以函数调用图2为例,依次取出的函数集合分别为:{a1},{b1,c1,d1},{e1}。以函数调用图5为例,依次取出的函数集合分别为:{a2},{f2},{e2}。
3、取出的函数集合中的函数由于彼此没有调用关系,因此函数的本地分析都可以并行处理。上图中的分析步骤Loop,B1,C1,D1都是可以并行处理的;B1,C1,D1的具体分析步骤都是类似的,图6中的步骤以函数c1的分析为例。根据函数调用图得到函数c1调用的其他函数(依据函数调用图);
4、从函数摘要库中取函数c1调用的其他函数的函数摘要;
5、根据其他函数的函数摘要进行本地分析生成函数c1的函数摘要;
6、更新函数c1的函数摘要。
Loop:环中函数的分析的流程描述如下:
图中的流程以函数调用图4中环中的函数b2,c2,d2的分析为例;
其中Vx代表第x次环中函数的迭代分析;
图中描述的有V1(第一次),Vn(第n次),Vn+1(第n+1次);
以第V1次为例,每个流程的描述如下:
1)取摘要:由于是第一次迭代分析,环中函数的摘要都不存在,不存在此步骤;之后的每次迭代分析,都会取出并使用上次迭代分析后的函数摘要。
2)V1_b2:第V1次函数b2的本地分析。
3)V1_c2:第V1次函数c2的本地分析。
4)V1_d2:第V1次函数d2的本地分析。
流程V1_b2,V1_c2,V1_d2都是并行处理的。
5)更新摘要:使用第V1次环中函数本地分析计算出的摘要,更新函数摘要库的版本到V1。
6)V1摘要是否变化:使用环中函数摘要库V1对比本次迭代分析前的环中函数摘要库,V1之前的环中函数摘要库不存在,对应的Vn+1次分析需要对比环中函数摘要库Vn等。
如果环中任一函数的摘要发生了变化,则进入V2次迭代分析流程,对应的,Vn次迭代分析函数摘要发生了变化则进入Vn+1次迭代分析流程,否则结束环中函数的迭代分析,进入整体分析流程中,直至函数调用图的函数全部分析完毕。
本发明实施例提供的一种基于函数摘要的程序文件分析方法,通过获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图,从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象,若所述目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要,若所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要,实现在基于函数摘要的迭代分析中引入并行处理,同时优化函数的分析顺序,减少函数迭代分析的次数,可以在多核cpu平台上显著提高全局分析的效率。
图7示出了本发明一实施例提供的一种基于函数摘要的程序文件分析装置,包括生成模块21、确定模块22、第一判断模块23和第二判断模块24,其中:
生成模块21,用于获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图;
确定模块22,用于从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象;
第一判断模块23,用于在所述目标函数对象属于环中的函数对象时,根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要;
第二判断模块24,用于在所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象时,更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
所述第一判断模块还用于:在所述目标函数对象不属于环中的函数对象时,则根据其调用的关联函数对象的关联函数摘要进行分析获取新函数摘要,并更新目标函数对象的函数摘要,更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
所述第二判断模块还用于:在所述目标函数对象不属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象时,更新后的函数摘要不作为下一目标函数对象分析时所需的关联函数摘要。
所述第二判断模块还用于:在存在与所述目标函数对象无调用关系且在队列中同级的函数对象时,以并行处理方式分别作为目标函数对象进行分析,更新对应的函数摘要,并且更新后的函数摘要均作为下一目标函数对象分析时所需的关联函数摘要。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明实施例提供的一种基于函数摘要的程序文件分析装置,通过获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图,从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象,若所述目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要,若所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要,实现在基于函数摘要的迭代分析中引入并行处理,同时优化函数的分析顺序,减少函数迭代分析的次数,可以在多核cpu平台上显著提高全局分析的效率。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图,从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象,若所述目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要,若所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非暂态计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于函数摘要的程序文件分析方法,其特征在于,包括:
获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图;
从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象;
若所述目标函数对象属于环中的函数对象,则根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要;
若所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述目标函数对象不属于环中的函数对象,则根据其调用的关联函数对象的关联函数摘要进行分析获取新函数摘要,并更新目标函数对象的函数摘要,更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
3.根据权利要求1所述的方法,其特征在于,还包括:
若所述目标函数对象不属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象,则更新后的函数摘要不作为下一目标函数对象分析时所需的关联函数摘要。
4.根据权利要求1所述的方法,其特征在于,还包括:
若存在与所述目标函数对象无调用关系且在队列中同级的函数对象,则以并行处理方式分别作为目标函数对象进行分析,更新对应的函数摘要,并且更新后的函数摘要均作为下一目标函数对象分析时所需的关联函数摘要。
5.一种基于函数摘要的程序文件分析装置,其特征在于,包括:
生成模块,用于获取目标程序文件中所有函数对象,根据所述函数对象生成函数调用图;
确定模块,用于从待分析函数对象队列中获取目标函数对象,根据所述函数调用图确定所述目标函数对象调用的关联函数对象;
第一判断模块,用于在所述目标函数对象属于环中的函数对象时,根据环中各函数对象的当前函数摘要进行迭代分析获取新函数摘要,直到各函数对象的新函数摘要不再发生变化后,更新目标函数对象的函数摘要;
第二判断模块,用于在所述目标函数对象属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象时,更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
6.根据权利要求5所述的装置,其特征在于,所述第一判断模块还用于:在所述目标函数对象不属于环中的函数对象时,则根据其调用的关联函数对象的关联函数摘要进行分析获取新函数摘要,并更新目标函数对象的函数摘要,更新后的函数摘要作为下一目标函数对象分析时所需的关联函数摘要。
7.根据权利要求5所述的装置,其特征在于,所述第二判断模块还用于:在所述目标函数对象不属于在队列中位于环中函数对象之后的下一目标函数对象调用的关联函数对象时,更新后的函数摘要不作为下一目标函数对象分析时所需的关联函数摘要。
8.根据权利要求5所述的装置,其特征在于,所述第二判断模块还用于:在存在与所述目标函数对象无调用关系且在队列中同级的函数对象时,以并行处理方式分别作为目标函数对象进行分析,更新对应的函数摘要,并且更新后的函数摘要均作为下一目标函数对象分析时所需的关联函数摘要。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
CN201811625048.6A 2018-12-28 2018-12-28 基于函数摘要的程序文件分析方法及装置 Pending CN109828760A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811625048.6A CN109828760A (zh) 2018-12-28 2018-12-28 基于函数摘要的程序文件分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811625048.6A CN109828760A (zh) 2018-12-28 2018-12-28 基于函数摘要的程序文件分析方法及装置

Publications (1)

Publication Number Publication Date
CN109828760A true CN109828760A (zh) 2019-05-31

Family

ID=66861393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811625048.6A Pending CN109828760A (zh) 2018-12-28 2018-12-28 基于函数摘要的程序文件分析方法及装置

Country Status (1)

Country Link
CN (1) CN109828760A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050098780A1 (en) * 2003-11-06 2005-05-12 Chartered Semiconductor Manufacturing Ltd. Planar voltage contrast test structure and method
CN101894064A (zh) * 2009-05-21 2010-11-24 北京邮电大学 应用跨函数分析的软件测试方法
CN103744776A (zh) * 2013-11-04 2014-04-23 北京邮电大学 一种基于符号化函数摘要的静态分析方法及系统
CN105389262A (zh) * 2015-12-23 2016-03-09 北京奇虎科技有限公司 一种针对界面测试生成测试建议的方法和装置
CN105431825A (zh) * 2013-07-31 2016-03-23 国际商业机器公司 用于计算过程间支配者的系统和/或方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050098780A1 (en) * 2003-11-06 2005-05-12 Chartered Semiconductor Manufacturing Ltd. Planar voltage contrast test structure and method
CN101894064A (zh) * 2009-05-21 2010-11-24 北京邮电大学 应用跨函数分析的软件测试方法
CN105431825A (zh) * 2013-07-31 2016-03-23 国际商业机器公司 用于计算过程间支配者的系统和/或方法
CN103744776A (zh) * 2013-11-04 2014-04-23 北京邮电大学 一种基于符号化函数摘要的静态分析方法及系统
CN105389262A (zh) * 2015-12-23 2016-03-09 北京奇虎科技有限公司 一种针对界面测试生成测试建议的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
肖庆: "提高静态缺陷检测精度的关键技术研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 *
赵云山: "基于符号分析的静态缺陷检测技术研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 *

Similar Documents

Publication Publication Date Title
US20190279088A1 (en) Training method, apparatus, chip, and system for neural network model
US9672065B2 (en) Parallel simulation using multiple co-simulators
CN110287702B (zh) 一种二进制漏洞克隆检测方法及装置
CN110187988B (zh) 适用于虚函数和函数指针的静态函数调用图构建方法
US20120233601A1 (en) Recompiling with Generic to Specific Replacement
US8612490B1 (en) Sharing of instructions across model boundaries
US20100275186A1 (en) Segmentation for static analysis
CN109542783B (zh) 一种基于变量分割的扩展有限状态机测试数据生成方法
US9396095B2 (en) Software verification
CN108491228A (zh) 一种二进制漏洞代码克隆检测方法及系统
CN109409746A (zh) 一种生产调度方法及装置
CN116126346B (zh) Ai模型的代码编译方法、装置、计算机设备及存储介质
US20110131554A1 (en) Application generation system, method, and program product
US20140082330A1 (en) Enhanced instruction scheduling during compilation of high level source code for improved executable code
Macias-Ramos et al. Extending simulation of asynchronous spiking neural P systems in P–lingua
CN115016938A (zh) 一种基于强化学习的计算图自动划分方法
CN117971235A (zh) 一种目标代码生成方法、装置、设备及存储介质
CN116702157B (zh) 一种基于神经网络的智能合约漏洞检测方法
Shahoud et al. A meta learning approach for automating model selection in big data environments using microservice and container virtualization technologies
CN109828760A (zh) 基于函数摘要的程序文件分析方法及装置
CN115796228A (zh) 算子融合方法、装置、设备以及存储介质
CN113792875B (zh) 一种分布式通信库的性能测试方法、装置、设备及介质
Hoefler et al. Automatic complexity analysis of explicitly parallel programs
CN115511093A (zh) 分布式量子计算系统
CN112800425A (zh) 一种基于图计算的代码分析的方法和装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190531

RJ01 Rejection of invention patent application after publication