CN109634862B - 应用分析方法、装置及存储介质 - Google Patents

应用分析方法、装置及存储介质 Download PDF

Info

Publication number
CN109634862B
CN109634862B CN201811515631.1A CN201811515631A CN109634862B CN 109634862 B CN109634862 B CN 109634862B CN 201811515631 A CN201811515631 A CN 201811515631A CN 109634862 B CN109634862 B CN 109634862B
Authority
CN
China
Prior art keywords
target
analysis
search algorithm
path search
application
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
CN201811515631.1A
Other languages
English (en)
Other versions
CN109634862A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811515631.1A priority Critical patent/CN109634862B/zh
Publication of CN109634862A publication Critical patent/CN109634862A/zh
Application granted granted Critical
Publication of CN109634862B publication Critical patent/CN109634862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种应用分析方法、装置及存储介质,属于计算机技术领域。该方法包括:获取目标应用,采用第一路径搜索算法对目标应用进行分析,统计目标应用的至少一个维度的目标数据,至少一个维度的目标数据用于描述目标应用的分析情况;根据至少一个维度的目标数据,确定目标分值;当目标分值不满足预设条件时,将第一路径搜索算法切换为与第一路径搜索算法不同的第二路径搜索算法;采用第二路径搜索算法,继续对目标应用进行分析。能够在对目标应用进行分析的过程中,即使当前路径搜索算法不适用于目标应用,也能根据反馈信息动态调整或切换路径搜索算法,寻找适用于目标应用的路径搜索算法,提升了分析效果。

Description

应用分析方法、装置及存储介质
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种应用分析方法、装置及存储介质。
背景技术
随着计算机技术的发展,应用趋向于大型化、复杂化,应用的规模逐渐扩大,功能也逐渐增多,如何保证应用质量已成为技术人员非常关注的问题。因此开发人员在开发应用完成之后,发布应用之前,会对应用进行分析,确定应用中的执行路径,根据该执行路径理解应用行为、发现应用缺陷,从而对应用进行改进,提高应用质量。
目前常用的分析方式是采用路径搜索算法进行应用分析,终端通常会预先设置一个固定的路径搜索算法,采用该固定的路径搜索算法对目标应用进行分析,从而自动化地探索出目标应用中所有可行的执行路径。
由于不同的路径搜索算法的搜索方式不同,因此,不同的路径搜索算法适用的应用可能不同,采用不同的路径搜索算法对同一应用进行分析,可能会得到不同的分析结果。而上述方案仅采用了单一的路径搜索算法,若该路径搜索算法不适用于目标应用,将会导致分析效果不佳。
发明内容
本发明实施例提供了一种应用分析方法、装置及存储介质,可以解决相关技术存在的问题。所述技术方案如下:
一方面,提供了一种应用分析方法,所述方法包括:
获取目标应用;
采用第一路径搜索算法对所述目标应用进行分析;
统计所述目标应用的至少一个维度的目标数据,所述至少一个维度的目标数据用于描述所述目标应用的分析情况;
根据所述至少一个维度的目标数据,确定目标分值;
当所述目标分值不满足预设条件时,将所述第一路径搜索算法切换为第二路径搜索算法,所述第二路径搜索算法与所述第一路径搜索算法不同;
采用所述第二路径搜索算法,继续对所述目标应用进行分析。
另一方面,提供了一种应用分析装置,所述装置包括:
应用获取模块,用于获取目标应用;
分析模块,用于采用第一路径搜索算法对所述目标应用进行分析;
统计模块,用于统计所述目标应用的至少一个维度的目标数据,所述至少一个维度的目标数据用于描述所述目标应用的分析情况;
确定模块,用于根据所述至少一个维度的目标数据,确定目标分值;
切换模块,用于当所述目标分值不满足预设条件时,将所述第一路径搜索算法切换为第二路径搜索算法,所述第二路径搜索算法与所述第一路径搜索算法不同;
第一分析模块,用于采用所述第二路径搜索算法,继续对所述目标应用进行分析。
另一方面,提供了一种应用分析装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如所述应用分析方法中所执行的操作。
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由处理器加载并具有以实现如所述应用分析方法中所执行的操作。
本发明实施例提供的应用分析方法、装置及存储介质,采用第一路径搜索算法对目标应用进行分析,并统计分析过程中的至少一个维度的目标数据,根据该至少一个维度的目标数据确定目标分值。当目标分值不满足预设条件时,将第一路径搜索算法切换为第二路径搜索算法,并采用第二路径搜索算法,继续对目标应用进行分析。当目标分值满足预设条件时,继续采用第一路径搜索算法对目标应用进行分析。能够在对目标应用进行分析的过程中,切换路径搜索算法,而不仅仅是采用单一的路径搜索算法,即使当前路径搜索算法不适用于目标应用,本发明实施例提供的方法也可以根据反馈信息动态调整或切换路径搜索算法,寻找适用于目标应用的路径搜索算法,提升了分析效果。
并且,不同的应用其内部逻辑、复杂程度等特性不同,适用的算法也不同。本发明实施例提供的方法,能够集成多种路径搜索算法,针对不同的应用先采用一个路径搜索算法,当分析效果不能满足条件时进行算法切换,通过一次或多次切换找到适用于当前应用的路径搜索算法,因此本发明实施例提供的方法可以适用于多种不同的应用,适用性较高。
并且,预设算法库中集成了多个路径搜索算法,在分析过程中能够在该多个路径搜索算法之间动态切换,实现了对该多个路径搜索算法的统一管理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种应用分析方法的流程图;
图3是本发明实施例提供的一种操作流程图;
图4是本发明实施例提供的一种分析装置的结构示意图;
图5是本发明实施例提供的一种分析装置的模块连接示意图;
图6是本发明实施例提供的一种应用分析装置的结构示意图;
图7是本发明实施例提供的一种终端的结构示意图;
图8是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种实施环境的示意图,参见图1,该实施环境包括:终端101,终端101可以为手机、计算机、平板电脑等具有数据处理能力的多种类型的设备。
该终端101可以运行多种应用,包括浏览器应用、即时通信应用、电子支付应用、办公应用、视频播放应用等。
采用不同的分类方式可以将多种应用划分为不同的类型,如按照处理业务的对象不同,可以将该多种应用划分为个人应用和企业应用。按照运行方式的不同,可以将该多种应用划分为在终端101系统中运行的应用和安装在终端101的第三方应用。
本发明实施例提供了一种应用分析方法,能够对终端101上运行的任一应用进行分析。
终端101获取多个路径搜索算法,采用任一路径搜索算法对目标应用进行分析,且分析过程中还可以根据分析情况切换成另一个路径搜索算法,采用另一个路径搜索算法继续对目标应用进行分析。
在一种可能实现的方式中,该实施环境还可以包括服务器102,终端101和服务器102之间通过网络连接。服务器102可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
该方法应用于终端101和服务器102。服务器102获取多种路径搜索算法,将任一个路径搜索算法发送给终端101,终端101采用该任一路径搜索算法对目标应用进行分析,在分析过程中统计目标数据,并将该目标数据发送给服务器102。服务器102基于接收到的目标数据确定分析情况,根据分析情况将当前路径搜索算法切换成另一个路径搜索算法,并将该另一个路径搜索算法发送给终端101。终端101采用该另一个路径搜索算法继续对目标应用进行分析。
在另一种可能实现方式中,终端101安装分析应用,该分析应用专门用于对终端101上运行的应用进行分析。终端101可以通过分析应用,对目标应用进行分析。或者,该分析应用可以与服务器102关联,终端101通过分析应用与服务器102进行交互,由终端101和服务器102共同实现对目标应用的分析过程。
相关技术中,通常会预先设置一个固定的路径搜索算法,采用该路径搜索算法,对目标应用进行分析,能够自动化地探索出目标应用中所有可行的执行路径。但是分析效率不仅与路径搜索算法有关,还与目标应用的内部逻辑、规模、复杂度以及分析人员最终的分析目标有关。不同的路径搜索算法适用于不同的应用,即使针对同一分析目标对同一应用进行分析时,分析效果也不同。
例如,深度搜索算法优先探索最深的执行路径,因此采用深度搜索算法分析目标应用时,优先执行目标应用后段的指令,而当目标应用的核心指令在前段或中段时,采用深度搜索算法的分析效果不佳。采用广度搜索算法分析目标应用时,优先执行目标应用前段的指令,若分析人员对后段的指令感兴趣,则采用广度搜索算法的分析效果不佳。采用随机搜索算法分析目标应用时,执行各个位置的指令的概率相同,若分析人员对某段指令感兴趣时,采用随机搜索算法不能有针对性的优先执行该段指令,导致分析效果不佳。
因此,相关技术中采用单一路径搜索算法的适用性较低,若当前采用的路径搜索算法不适用目标应用时,会导致对目标应用进行分析时的分析效果不佳。
而本发明实施例提出了一种应用分析方法,采用第一分析路径搜索算法对目标应用进行分析,确定目标分值,判断目标分值是否满足预设条件,当目标分值不能满足预设条件时,切换至另一路径搜索算法,采用切换后的路径搜索算法继续对目标应用进行分析。在对分析目标应用进行分析时,可以对路径搜索算法进行切换,而不是仅使用单一的路径搜索算法。即使针对不同的目标应用,也可以通过切换的方式,将当前的路径搜索算法逐渐切换至适用于当前目标应用的路径搜索算法,提高了分析效果,因此本发明实施例提供的方法可以适用于多种不同的应用,适用性较高。
本发明实施例可以应用于对应用进行分析的任一场景下。
例如,技术人员在开发一款应用后,测试人员将该应用安装在终端上,通过终端对该应用进行分析。后续可以根据分析结果,发现应用中的缺陷,对缺陷进行改进和优化,能够提升应用的性能。
又如,某一技术人员可以将感兴趣的应用安装在终端上,通过终端对该应用进行分析。后续可以根据分析结果,学习应用的执行过程,理解应用的行为,能够深入了解应用的执行步骤和执行原理,为后续的应用开发打下坚实的技术基础。
图2是本发明实施例提供的一种应用分析方法的流程图,图3是本发明实施例提供的一种操作流程图。本发明实施例的执行主体为分析装置,该分析装置可以包括图1所示实施例中的终端,或者包括图1所示实施例中的终端和服务器,参见图2和图3,该方法包括:
201、分析装置获取目标应用。
分析装置上安装有至少一个应用,每个应用中包括多条指令,该多条指令之间存在执行顺序和跳转关系,相应的,该多条指令按照执行顺序和跳转关系构成多条执行路径,其中的每条执行路径包括至少一条指令,且每条执行路径对应一种功能。在应用的运行过程中,会根据该执行顺序和跳转关系,按照某一执行路径运行,从而实现该执行路径对应的功能。
本发明实施例以分析目标应用为例进行说明,为了理解应用行为、发现应用缺陷、提高应用质量,可以获取目标应用,采用目标应用中的指令,对目标应用进行分析,探索目标应用中存在的执行路径。
202、分析装置采用第一路径搜索算法对目标应用进行分析。
分析装置中预先存储了预设算法库,该预设算法库集成了多个路径搜索算法,包括但不限于深度搜索算法、广度搜索算法、随机搜索算法、覆盖率最优搜索算法和控制流图指导搜索算法等。分析装置可以根据预设算法库确定用于分析目标应用的路径搜索算法。
以当前采用的路径搜索算法为第一路径搜索算法为例,分析装置采用第一路径搜索算法对目标应用进行分析,从而得到目标应用中的执行路径。该第一路径搜索算法可以为分析目标应用过程中首次采用的路径搜索算法,也可以为采用其他路径搜索算法之后切换采用的路径搜索算法。
该第一路径搜索算法可以为预设算法库中的任一个算法,可以由终端从预设算法库中随机确定,或者,该第一路径搜索算法为分析目标应用过程中首次采用的路径搜索算法时,可以为终端默认设置的路径搜索算法。或者,该第一路径搜索算法不是首次采用的路径搜索算法时,可以为终端选取的、与分析目标应用过程中之前采用的路径搜索算法不同的路径搜索算法。
203、分析装置统计目标应用的至少一个维度的目标数据。
在分析过程中不仅会得到目标应用中的执行路径,还会统计至少一个维度的目标数据,该至少一个维度的目标数据用于描述目标应用的分析情况。根据该至少一个维度的目标数据可以获知目标应用的分析情况,从而根据该分析情况可以确定是否要继续采用第一路径搜索算法。
该至少一个维度可以包括以下至少一种:代码覆盖率、缺陷数量、已分析出的执行路径与目标指令之间的距离,相应的,分析目标应用的过程中,可以统计目标应用的代码覆盖率、缺陷数量、已分析出的执行路径与目标指令之间的距离中的至少一项,得到至少一项目标数据。
分析目标应用的过程中,终端可以周期性地统计至少一项目标数据。可选地,分析目标应用的过程中,终端可以周期性地获取目标应用中已分析的指令数量,根据已分析的指令数量和目标应用的总指令数量,计算代码覆盖率。终端还可以检测目标应用中存在的缺陷,周期性地统计已检测的缺陷数量。终端还可以在进行分析之前确定目标指令,在分析过程中,每隔一个检测周期确定当前已分析出的执行路径,计算该执行路径与该目标指令之间的距离。
上述至少一项目标数据可以表示截止到目前为止目标应用的分析情况,也能够表示第一路径搜索算法的分析效果。因此,每次统计了至少一项目标数据后,可以根据统计的目标数据判断是否要切换路径搜索算法。
204、分析装置根据至少一个维度的目标数据,确定目标分值,执行步骤205或步骤207。
为了对目标应用的分析情况进行量化,可以根据至少一个维度的目标数据确定对应的目标分值,以该目标分值的大小来表示目标应用分析效果的好坏。
可选地,该至少一个维度可以包括正向维度和负向维度,正向维度的目标数据越大,表示分析效果越好,如代码覆盖率、缺陷数量,负向维度的目标数据越大,表示分析效果越差,如已分析出的执行路径与目标指令之间的距离。相应地,目标分值与正向维度的目标数据呈正相关关系,与负向维度的目标数据呈负相关关系,这样可以保证目标分值与分析效果呈正相关关系,后续能够根据目标分值的大小确定第一路径搜索算法的分析效果是否满足要求,从而确定是否要切换路径搜索算法。
采用路径搜索算法对目标应用进行分析时,可以获取预设分析目标,表示采用路径搜索算法对目标应用进行分析时预期达到的目标,根据预设分析目标和上述至少一个维度的目标数据,确定目标分值,使目标分值可以体现目标应用的分析情况是否达到预设分析目标,从而能够衡量分析效果的好坏。
可选地,预设分析目标可以由分析人员根据目标应用及其执行情况确定。
在一种可能实现的方式中,获取预设分析目标,该预设分析目标包括预设维度的目标数据对应的分值应满足的预设条件。根据上述至少一个维度的目标数据,从中获取预设维度的目标数据,将目标数据对应的分值确定为目标分值,而不考虑其他维度的目标数据。
可选地,当预设分析目标为分析目标应用的缺陷时,预设维度为缺陷数量,将目标数据中的缺陷数量对应的分值确定为目标分值。或者,当预设分析目标为分析目标应用的代码覆盖率时,预设维度为代码覆盖率,将目标数据中的代码覆盖率对应的分值确定为目标分值。或者,当预设分析目标为计算已分析出的执行路径与目标指令之间的距离时,预设维度为已分析出的执行路径与目标指令之间的距离,将目标数据中该距离对应的分值确定为目标分值。
目标数据不同时,对应的分值也不同。可以获取分值列表,该分值列表中包括目标数据与分值之间的对应关系,根据该对应关系和预设维度,确定该预设维度的目标数据对应的分值,将该分值作为目标分值。
在另一种可能实现的方式中,获取多个维度的目标数据对应的分值,根据多个维度的目标数据对应的分值,进行统计处理,得到目标分值。
每个维度的目标数据对应的分值可以根据上述分值列表确定,在此不再赘述。
统计处理可以包括求取平均值、求取方差或计算总和等处理方式。或者,统计处理还可以包括:采用加权求和的方式,获取每个维度的目标数据和权重,按照每个维度的权重,将每个维度对应的分值进行加权求和,确定目标分值。
例如,获取预设分析目标,预设分析目标包括预设维度,表示本次分析过程更为关注预设维度的目标数据,则根据该预设分析目标调整该预设分析目标对应的预设维度的权重,从而确定每个维度的权重,根据各个维度的目标数据以及调整后的权重进行加权求和,确定目标分值。
根据预设分析目标调整预设维度的权重可以包括:设置预设分析目标对应的维度的权重大于其他维度的权重,或者,将各个维度的初始权重设置为相同权重,每次获取预设分析目标时,调高预设分析目标对应的维度的权重,并调低其他维度的权重。
例如,当预设分析目标为分析目标应用的缺陷时,调高缺陷数量对应的权重,将其他维度的权重调低,进而根据各个维度的权重,对各个维度的目标数据对应的分值进行加权求和,将加权求和后得到的分值确定为目标分值。
或者,当预设分析目标为分析目标应用的代码覆盖率时,调高代码覆盖率对应的权重,将其他维度的权重调低,进而根据各个维度的权重,对各个维度的目标数据对应的分值进行加权求和,将加权求和后得到的分值确定为目标分值。
或者,当预设分析目标为计算已分析出的执行路径与目标指令之间的距离时,调高已分析出的执行路径与目标指令之间的距离对应的权重,将其他维度的权重调低,进而根据各个维度的权重,对各个维度的目标数据对应的分值进行加权求和,将加权求和后得到的分值确定为目标分值。
目标分值能够体现分析效果的好坏,但是在分析过程中,还可能包括其他影响分析效果的因素,为了能够全面考虑各个因素对分析效果的影响,可以引入修正项,该修正项用于对目标分值进行修正,使得修正后的目标分值能够更加准确地体现分析效果。
在一种可能实现的方式中,除了至少一个维度的目标数据之外,还可以获取目标应用的其他数据,将其他数据对应的分值作为修正项,按照修正项对目标分值进行修正,得到修正后的目标分值。其中,修正后的目标分值可以通过计算该修正项与目标分值之间的乘积确定,也可以通过其他计算方式确定。修正后的目标分值能够更加准确的描述采用第一路径搜索算算法分析目标应用分析的分析效果。
可选地,修正项可以为属于数值0到数值1之间的任一数值,且修正项与对目标分值的修正程度成负相关关系。修正项越小,也即是修正项越接近0,对目标分值的修正程度越大,而修正项越大,也即是修正项越接近1,对目标分值的修正程度越小。
例如,修正项可以由采用第一路径搜索算法对目标应用进行分析时的分析时长确定,该分析时长与修正项呈负相关关系,即分析时长越长,表明采用第一路径搜索算法对目标应用进行分析的分析效率越低,因此对应的修正项越小,而分析时长越小,对应的修正项越大。后续可以根据分析时长对应的修正项对目标分值进行修正。当分析时长较长时,通过修正项修正后的目标分值小于修正前的目标分值。
205、当目标分值不满足预设条件时,分析装置将第一路径搜索算法切换为第二路径搜索算法。
随着执行路径长度的线性增长,执行路径的数量呈现指数增长的现象,因此,对于任一应用,都存在近乎无限条执行路径,而在有限的运算资源下,无法将该近乎无限条执行路径探索全面。
因此,为了在尽可能短的分析时间内达到更好的分析效果,可以先确定预设条件,当采用第一路径搜索算法对目标应用进行分析确定的目标分值不满足预设条件时,表明第一路径搜索算法的分析效果较差,此时,分析装置获取第二路径搜索算法,并将第一路径搜索算法切换为第二路径搜索算法,在后续的分析过程中,采用该第二路径搜索算法继续对目标应用进行分析。
其中,第二路径搜索算法与第一路径搜索算法不同,并且第二路径搜索算法为预设算法库中对目标应用进行分析的过程中未采用过的路径搜索算法。
其中,预设条件用于规定目标分值应当满足的条件,当目标分值满足该预设条件时,表示分析效果较好,能够满足分析需求,而当目标分值不满足该预设条件时,表示分析效果欠佳,不能满足分析需求。可选地,目标分值为预设分析目标中的预设维度的目标数据对应的分值,在设置预设条件时,可以根据在达到较好的分析效果时该预设维度的目标数据对应的一般分值,确定预设条件。
在一种可能实现的方式中,上述预设条件包括预设阈值,目标分值与目标应用的分析效果呈正相关关系。即目标分值越大,采用第一路径搜索算法对目标应用的进行分析的分析效果越好,而目标分值越小,采用第一路径搜索算法对目标应用的进行分析的分析效果越差。将目标分值与预设阈值进行对比,当目标分值小于预设阈值时,将路径搜索算法由第一路径搜索算法切换为第二路径搜索算法。
其中,该预设阈值可以根据在达到较好的分析效果时的目标分值所属的数值范围确定,或者根据历史分析经验确定。
可选地,预设算法库中包括多个类别,每个类别包括至少一个路径搜索算法。根据第一路径搜索算法确定该第一路径搜索算法所属的类别,根据预设算法库以及预设算法库中已存储的多个路径搜索算法,获取与第一路径搜索算法的类别不同的其他类别,将属于该其他类别的某一路径搜索算法确定为第二路径搜索算法,并将第一路径搜索算法切换为该第二路径搜索算法。
在第一路径搜索算法的分析效果欠佳时,可以认为与第一路径搜索算法所属类别相同的其他路径搜索算法的分析效果也欠佳,因此为了能够尽快找到适合目标应用的路径搜索算法,从其他类别中选择第二路径搜索算法。该切换路径搜索算法的方式能够减小计算量,加快分析速率,提升分析效率。
例如,预设算法库中包括A、B、C、D和E五种类别的路径搜索算法,采用属于A类别的第一路径搜索算法对目标应用进行分析,确定目标分值。当该目标分值小于预设阈值时,从B类别中选择b1路径搜索算法作为第二路径搜索算法,并将上述第一路径搜索算法切换为第二路径搜索算法。
206、分析装置采用第二路径搜索算法,继续对目标应用进行分析。
在一种可能实现的方式中,由于对目标应用进行分析的过程就是分析目标应用包括的多个指令的过程,因此将第一路径搜索算法切换为第二路径搜索算法时,采用该第二路径搜索算法对目标应用进行分析,此时可以控制目标应用重新从第一条指令开始执行,并采用该第二路径搜索算法,从第一条指令开始,对目标应用进行分析。
另外,考虑到上述方式中每切换一次路径搜索算法都需要从目标应用的第一条指令重新开始执行,当切换后的路径搜索算法依然不能满足预设条件时,仍然需要继续从第一条指令开始执行,分析时长过长。若预先设置了预设分析时长,则会存在多次切换后的路径搜索算法确定的目标分值均不能满足预设条件,且分析时长已达到预设分析时长的情况,此时达到的分析效果依然不佳。
因此,为了节省目标应用的分析时间,缩短分析时长,可以确定采用第一路径搜索算法对目标应用分析的最后一条指令,并控制目标应用继续按照执行顺序和跳转关系执行下一条指令,同时从最后一条指令开始,采用第二路径搜索算法,继续对目标应用进行分析,也即是,从该最后一条指令开始,采用各个指令之间的执行顺序和跳转关系,继续分析该最后一条指令的下一条指令,如位于该最后一条指令之后的指令,或者该最后一条指令跳转后的指令。
基于该最后一条指令继续执行该最后一条指令的下一条指令,无需从目标应用的第一条指令重新执行,有效地缩短了分析时间,提高了分析效率。
分析装置采用该第二路径搜索算法对目标应用进行分析的过程中,继续统计至少一个维度的目标数据,根据该至少一个维度的目标数据确定目标分值。后续可以根据确定的目标分值,继续判断目标分值是否满足预设条件。当基于第二路径搜索算法确定的目标分值依然不满足预设条件时,继续切换为其他路径搜索算法,并基于该其他路径搜索算法对目标应用进行分析。
分析装置采用一个路径搜索算法对目标应用进行分析,或者通过一次或多次切换,采用了多个路径搜索算法对目标应用进行分析之后,可以找出适用于目标应用的路径搜索算法,并采用该路径搜索算法对目标应用进行分析,直至分析过程结束。
其中,分析过程结束可以为目标应用所有可行的执行路径都已经探索完成,或者,分析时长已经超出预设分析时长,或者分析效果已经达到预设分析目标,如统计到的代码覆盖率已经达到预期的代码覆盖率,或者检测到的缺陷数量已经达到预期的数量,或者计算得到的已分析出的执行路径与目标指令之间的距离小于预期的距离。
207、当目标分值满足预设条件时,分析装置采用第一路径搜索算法,继续对目标应用进行分析,直至对目标应用分析完成。
步骤204中终端确定目标分值之后,当目标分值满足预设条件时,表明采用第一路径搜索算法对目标应用进行分析的分析效果较好,因此可以继续采用该第一路径搜索算法对目标应用进行分析,直至分析过程结束。
本发明实施例提出的应用分析方法,采用第一路径搜索算法对目标应用进行分析,并统计分析过程中的至少一个维度的目标数据,根据该至少一个维度的目标数据确定目标分值。当目标分值不满足预设条件时,将第一路径搜索算法切换为第二路径搜索算法,并采用第二路径搜索算法,继续对目标应用进行分析。当目标分值满足预设条件时,继续采用第一路径搜索算法对目标应用进行分析。能够在对目标应用进行分析的过程中,切换路径搜索算法,而不仅仅是采用单一的路径搜索算法,即使当前路径搜索算法不适用于目标应用,本发明实施例提供的方法也可以根据反馈信息动态调整或切换路径搜索算法,寻找适用于目标应用的路径搜索算法,提升了分析效果。
并且,不同的应用其内部逻辑、复杂程度等特性不同,适用的算法也不同。本发明实施例提供的方法,能够集成多种路径搜索算法,针对不同的应用先采用一个路径搜索算法,当分析效果不能满足条件时进行算法切换,通过一次或多次切换找到适用于当前应用的路径搜索算法,因此本发明实施例提供的方法可以适用于多种不同的应用,适用性较高。
并且,预设算法库中集成了多个路径搜索算法,在分析过程中能够在该多个路径搜索算法之间动态切换,实现了对该多个路径搜索算法的统一管理。
需要说明的是,图4是本发明实施例提供的一种分析装置的结构示意图,
图5是本发明实施例提供的一种分析装置的内部连接示意图,参见图4和图5。分析装置包括预设算法库、分析统计模块、附加管理模块和切换管理模块。其中,预设算法库与分析统计模块和切换管理模块连接,分析统计模块与切换管理模块连接,附加管理模块与切换管理模块连接。
预设算法库用于集成多个路径搜索算法,包括但不限于深度搜索算法、广度搜索算法、随机搜索算法、覆盖率最优搜索算法和控制流图指导搜索算法等。分析装置可以根据该预设算法库确定用于分析目标应用的路径搜索算法。上述第一路径搜索算法、第二路径搜索算法和其他路径搜索算法均存储于该预设算法库中。
分析统计模块用于调用预设算法库中已确定的路径搜索算法,基于路径搜索算法对目标应用进行分析,并在分析过程中统计至少一个维度的目标数据,将该至少一个维度的目标数据发送给切换管理模块。
附加管理模块用于调用一些标准化接口以收集其他影响分析过程的数据,并将该数据发送给切换管理模块,该其他影响分析的过程的数据可以包括分析时长等数据。
切换管理模块用于综合考虑各个模块发送的数据,包括分析统计模块发送的至少一个维度的目标数据和附加管理模块发送的其他影响分析过程的数据,确定目标分值,并根据目标分值和预设条件,判断是否需要切换路径搜索算法。当需要切换时,终止当前的路径搜索算法,从预设算法库中调用本次分析过程中没有使用过的其他路径搜索算法,并将该路径搜索算法发送给分析统计模块,由分析统计模块基于分析统计模块发送的路径搜索算法继续对目标应用进行分析。
图6是本发明实施例提供的一种应用分析装置的结构示意图,参见图6,该装置包括:
应用获取模块601,用于执行上述实施例中获取目标应用的步骤;
分析模块602,用于执行上述实施例中采用第一路径搜索算法对目标应用进行分析的步骤;
统计模块603,用于执行上述实施例中统计目标应用的至少一个维度的目标数据的步骤;
确定模块604,用于执行上述实施例中根据至少一个维度的目标数据,确定目标分值的步骤;
切换模块605,用于执行上述实施例中当目标分值不满足预设条件时,将第一路径搜索算法切换为第二路径搜索算法的步骤;
第一分析模块606,用于执行上述实施例中采用第二路径搜索算法,继续对目标应用进行分析的步骤。
可选地,确定模块604,包括:
目标获取单元,用于执行上述实施例中获取预设分析目标的步骤;
分值确定单元,用于执行上述实施例中根据至少一个维度的目标数据,获取预设维度的目标数据,将目标数据对应的分值确定为目标分值的步骤。
可选地,确定模块604,包括:
分值获取单元,用于执行上述实施例中获取多个维度的目标数据对应的分值的步骤;
统计单元,用于执行上述实施例中根据多个维度的目标数据对应的分值,进行统计处理,得到目标分值的步骤。
可选地,至少一个维度的目标数据,包括以下至少一种:
目标应用的代码覆盖率;
目标应用的缺陷数量;
目标应用已分析出的执行路径与目标指令之间的距离。
可选地,预设条件包括预设阈值,目标分值与目标应用的分析效果呈正相关关系;切换模块605,包括:
切换单元,用于执行上述实施例中当目标分值小于预设阈值时,将第一路径搜索算法切换为第二路径搜索算法的步骤。
可选地,切换单元还用于执行上述实施例中根据已存储的多个路径搜索算法,获取与第一路径搜索算法的类别不同的第二路径搜索算法;将第一路径搜索算法切换为第二路径搜索算法的步骤。
可选地,第一分析模块606,包括:
确定单元,用于执行上述实施例中确定采用第一路径搜索算法对目标应用分析的最后一条指令的步骤;
分析单元,用于执行上述实施例中从最后一条指令开始,采用第二路径搜索算法,继续对目标应用进行分析的步骤。
可选地,装置还包括:
第二分析模块,用于执行上述实施例中当目标分值满足预设条件时,采用第一路径搜索算法,继续对目标应用进行分析,直至对目标应用分析完成的步骤。
需要说明的是:上述实施例提供的应用分析装置在分析目标应用时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将应用分析装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用分析装置与应用分析方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7示出了本发明一个示例性实施例提供的终端700的结构框图。该终端700可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑、台式电脑、头戴式设备,或其他任意智能电子设备。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所具有以实现本申请中方法实施例提供的应用分析方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及8G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端700的侧边框和/或显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户具有相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商标志集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏1505的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图8是本发明实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)801和一个或一个以上的存储器802,其中,所述存储器802中存储有至少一条指令,所述至少一条指令由所述处理器801加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器800可以用于执行上述应用分析方法中分析装置所执行的步骤。
本发明实施例还提供了一种应用分析装置,该装置包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,指令、程序、代码集或指令集由处理器加载并具有以实现上述实施例的应用分析方法中所执行的操作。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由处理器加载并具有以实现上述实施例的应用分析方法中所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明实施例的较佳实施例,并不用以限制本发明实施例,凡在本发明实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种应用分析方法,其特征在于,所述方法包括:
获取目标应用;
采用第一路径搜索算法对所述目标应用进行分析;
周期性地统计所述目标应用的至少一个维度的目标数据,所述至少一个维度的目标数据用于描述截止到目前为止所述目标应用的分析情况;
根据所述至少一个维度的目标数据,确定目标分值;
当所述目标分值不满足预设条件时,将所述第一路径搜索算法切换为第二路径搜索算法,所述第二路径搜索算法与所述第一路径搜索算法不同;
采用所述第二路径搜索算法,继续对所述目标应用进行分析;
所述采用所述第二路径搜索算法,继续对所述目标应用进行分析,包括:
确定采用所述第一路径搜索算法对所述目标应用分析的最后一条指令;
从所述最后一条指令开始,采用所述第二路径搜索算法,继续按照各指令之间的执行顺序和跳转关系对所述目标应用进行分析。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个维度的目标数据,确定目标分值,包括:
获取预设分析目标,所述预设分析目标包括预设维度的目标数据对应的分值应满足的预设条件;
根据所述至少一个维度的目标数据,获取所述预设维度的目标数据,将所述目标数据对应的分值确定为所述目标分值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个维度的目标数据,确定目标分值,包括:
获取多个维度的目标数据对应的分值;
根据所述多个维度的目标数据对应的分值,进行统计处理,得到所述目标分值。
4.根据权利要求1所述的方法,其特征在于,所述至少一个维度的目标数据,包括以下至少一种:
所述目标应用的代码覆盖率;
所述目标应用的缺陷数量;
所述目标应用已分析出的执行路径与目标指令之间的距离。
5.根据权利要求1所述的方法,其特征在于,所述预设条件包括预设阈值,所述目标分值与所述目标应用的分析效果呈正相关关系;所述当所述目标分值不满足预设条件时,将所述第一路径搜索算法切换为第二路径搜索算法,包括:
当所述目标分值小于所述预设阈值时,将所述第一路径搜索算法切换为所述第二路径搜索算法。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述第一路径搜索算法切换为第二路径搜索算法,包括:
根据已存储的多个路径搜索算法,获取与所述第一路径搜索算法的类别不同的所述第二路径搜索算法;
将所述第一路径搜索算法切换为所述第二路径搜索算法。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
当所述目标分值满足所述预设条件时,采用所述第一路径搜索算法,继续对所述目标应用进行分析,直至对所述目标应用分析完成。
8.一种应用分析装置,其特征在于,所述装置包括:
应用获取模块,用于获取目标应用;
分析模块,用于采用第一路径搜索算法对所述目标应用进行分析;
统计模块,用于周期性地统计所述目标应用的至少一个维度的目标数据,所述至少一个维度的目标数据用于描述截止到目前为止所述目标应用的分析情况;
确定模块,用于根据所述至少一个维度的目标数据,确定目标分值;
切换模块,用于当所述目标分值不满足预设条件时,将所述第一路径搜索算法切换为第二路径搜索算法,所述第二路径搜索算法与所述第一路径搜索算法不同;
第一分析模块,用于采用所述第二路径搜索算法,继续对所述目标应用进行分析;
所述第一分析模块,包括:
确定单元,用于确定采用所述第一路径搜索算法对所述目标应用分析的最后一条指令;
分析单元,用于从所述最后一条指令开始,采用所述第二路径搜索算法,继续按照各指令之间的执行顺序和跳转关系对所述目标应用进行分析。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,包括:
目标获取单元,用于获取预设分析目标,所述预设分析目标包括预设维度的目标数据对应的分值应满足的预设条件;
分值确定单元,用于根据所述至少一个维度的目标数据,获取所述预设维度的目标数据,将所述目标数据对应的分值确定为所述目标分值。
10.根据权利要求8所述的装置,其特征在于,所述确定模块,包括:
分值获取单元,用于获取多个维度的目标数据对应的分值;
统计单元,用于根据所述多个维度的目标数据对应的分值,进行统计处理,得到所述目标分值。
11.根据权利要求8-10任一项所述的装置,其特征在于,所述至少一个维度的目标数据,包括以下至少一种:
所述目标应用的代码覆盖率;
所述目标应用的缺陷数量;
所述目标应用已分析出的执行路径与目标指令之间的距离。
12.根据权利要求8-10任一项所述的装置,其特征在于,所述预设条件包括预设阈值,所述目标分值与所述目标应用的分析效果呈正相关关系;所述切换模块,包括:
切换单元,用于当所述目标分值小于所述预设阈值时,将所述第一路径搜索算法切换为所述第二路径搜索算法。
13.一种应用分析装置,其特征在于,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至7任一权利要求所述的应用分析方法中所执行的操作。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由处理器加载并执行以实现如权利要求1至7任一权利要求所述的应用分析方法中所执行的操作。
CN201811515631.1A 2018-12-12 2018-12-12 应用分析方法、装置及存储介质 Active CN109634862B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811515631.1A CN109634862B (zh) 2018-12-12 2018-12-12 应用分析方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811515631.1A CN109634862B (zh) 2018-12-12 2018-12-12 应用分析方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109634862A CN109634862A (zh) 2019-04-16
CN109634862B true CN109634862B (zh) 2022-02-22

Family

ID=66073021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811515631.1A Active CN109634862B (zh) 2018-12-12 2018-12-12 应用分析方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN109634862B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008053A (zh) * 2014-05-28 2014-08-27 电子科技大学 一种用于漏洞发掘的动态符号执行路径搜索方法
US20170212933A1 (en) * 2016-01-25 2017-07-27 International Business Machines Corporation Processing path determination

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916222B (zh) * 2010-08-09 2012-07-11 哈尔滨工程大学 基于控制流图遍历和切片前向遍历相结合的软件测试方法
US9535823B2 (en) * 2011-02-28 2017-01-03 Typemock Ltd. Method and apparatus for detecting software bugs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008053A (zh) * 2014-05-28 2014-08-27 电子科技大学 一种用于漏洞发掘的动态符号执行路径搜索方法
US20170212933A1 (en) * 2016-01-25 2017-07-27 International Business Machines Corporation Processing path determination

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Depth-First-Search Controlled Gridless Incremental Routing;H.Arslan;《IEEE International Conference on Computer Design: VLSI in Computers and Processors》;20041011;全文 *

Also Published As

Publication number Publication date
CN109634862A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN110110787A (zh) 目标的位置获取方法、装置、计算机设备及存储介质
CN109117635B (zh) 应用程序的病毒检测方法、装置、计算机设备及存储介质
CN111104980B (zh) 确定分类结果的方法、装置、设备及存储介质
CN108132790B (zh) 检测无用代码的方法、装置及计算机存储介质
CN110839128B (zh) 拍照行为检测方法、装置及存储介质
CN112084811A (zh) 身份信息的确定方法、装置及存储介质
CN111858382A (zh) 应用程序测试方法、装置、服务器、系统及存储介质
CN111510482A (zh) 失败网络请求的确定方法、装置及计算机存储介质
CN111416996B (zh) 多媒体文件检测方法、播放方法、装置、设备及存储介质
CN111782950A (zh) 样本数据集获取方法、装置、设备及存储介质
CN114154068A (zh) 媒体内容推荐方法、装置、电子设备及存储介质
CN110765182B (zh) 数据统计方法、装置、电子设备及存储介质
CN111796990A (zh) 资源显示方法、装置、终端及存储介质
CN111613213A (zh) 音频分类的方法、装置、设备以及存储介质
CN111753606A (zh) 一种智能模型的升级方法及装置
CN110263695B (zh) 人脸部位的位置获取方法、装置、电子设备及存储介质
CN111563201A (zh) 内容推送方法、装置、服务器及存储介质
CN109634862B (zh) 应用分析方法、装置及存储介质
CN112329909B (zh) 生成神经网络模型的方法、装置及存储介质
CN112988177A (zh) 应用安装包的发布、应用程序的运行方法、服务器及终端
CN107948171B (zh) 一种用户账号管理的方法和装置
CN112000576A (zh) 代码数据的检测方法、装置、设备及存储介质
CN112308104A (zh) 异常识别方法、装置及计算机存储介质
CN111666214A (zh) 客户端容错测试方法、装置、终端、服务器和存储介质
CN111523876A (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
GR01 Patent grant
GR01 Patent grant