CN104778092B - 一种针对安卓应用对传感器的能耗漏洞的分析与检测系统 - Google Patents
一种针对安卓应用对传感器的能耗漏洞的分析与检测系统 Download PDFInfo
- Publication number
- CN104778092B CN104778092B CN201510218338.9A CN201510218338A CN104778092B CN 104778092 B CN104778092 B CN 104778092B CN 201510218338 A CN201510218338 A CN 201510218338A CN 104778092 B CN104778092 B CN 104778092B
- Authority
- CN
- China
- Prior art keywords
- data
- sensor
- android
- module
- sensing data
- 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
Links
Abstract
目前的安卓应用的传感器分析检测系统存在覆盖范围窄,效率低,分析检测结果不稳定等缺陷。为了解决以上问题,本发明提供了一种针对安卓应用对传感器的能耗漏洞的分析与检测系统,由安卓应用执行模块,传感器数据产生模块和传感器数据利用率分析模块构成,安卓应用执行模块分别和传感器数据产生模块和传感器数据利用率分析模块连接,并且所有的模块运行于验证可执行Java程序的JPF(Java Pathfinder)系统上。本发明提出的针对安卓应用对传感器的能耗漏洞的分析与检测系统,最后得到的诊断结果是正确的、高效的和稳定的,上述所有的过程都是自动化的,不需要用户的额外参与。
Description
技术领域
本发明涉及安卓应用对传感器能耗漏洞的检测系统。
背景技术
由于安卓移动操作系统是一个开源的平台,它吸引了众多的应用开发者,使得近年来安卓系统在移动设备市场中占据了极大的份额。为了实现丰富多彩的应用,智能手机都配备了各种各样的传感器。这些传感器通过感知用户当前的物理环境,从而为用户提供更加个性化的服务。但是另一方面,这些传感器会消耗大量的电量,从而极大地缩短智能手机的续航时间。因此,传感器采集到的数据应当被应用很好地利用,并对用户产生一定的益处。如果传感器数据的利用率过低,则说明相应的电量被浪费了,该应用存在着能耗漏洞。能耗漏洞的存在会造成较差的用户体验,并对安卓应用的进一步发展产生负面作用。
目前传统的解决办法都只考虑产生相应的事件,包括普通事件和传感器事件,并不考虑传感器事件中所包含的数据。传统的工具在产生传感器事件时,会随机产生所需要的数据并将其附着在事件之中。这导致相应的处理函数中的许多与传感器数据相关的路径都无法被执行,即较低的路径覆盖率。这进一步造成应用无法到达一些与传感器数据相关的特定状态,从而漏报许多存在问题的状态。并且由于产生的数据的随机性,多次分析将会出现不一样的结果。这会极大地困扰用户,降低工具的稳定性和实用性。另一方面,传统的工具在处理传感器事件时,不论程序执行了哪一条路径,都只会转移到同一个新的状态。然而大多数应用都会根据传感器数据的不同而转移到不同的状态以实现智能化的服务,因此这些应用都无法被传统的工具分析。
发明内容
1、所要解决的技术问题:
目前的安卓应用的传感器分析检测系统存在覆盖范围窄,效率低,分析检测结果不稳定。
2、技术方案:
为了解决以上问题,本发明提供了一种针对安卓应用对传感器的能耗漏洞的分析与检测系统,由安卓应用执行模块,传感器数据产生模块和传感器数据利用率分析模块构成,安卓应用执行模块分别和传感器数据产生模块和传感器数据利用率分析模块连接,并且所有的模块运行于验证可执行Java程序的JPF系统上。
JPF的全称为Java Pathfinder。
所述安卓应用执行模块是指解析得到应用的所有事件处理方法,产生模拟事件以激活相应的处理方法,并在事件处理结束后更新事件处理方法的集合,通过产生特定的事件序列,到达对应的程序状态。
所述的传感器数据产生模块是指在将初始的数据范围的边界值传递给应用后,记录应用在处理对应的传感器事件过程中执行的所有的关键代码,并判断各个边界值对应的关键代码是否相同,如果相同且该数据范围大于一定的阈值,则将该数据范围划分为较小的范围,如果不同但该数据范围大于另一个较小的阈值,依然将其划分为较小的子范围。
所述的传感器数据利用率分析模块是指利用动态染色技术标识定位出所有利用了传感器数据的方法调用,并记录其中对用户带来好处的方法调用,统计得到每次由传感器事件所触发的状态转移时的数据利用数,并通过比较所有的状态转移的利用数计算得到每次状态转移的相对传感器数据利用率。
3、有益效果:
本发明能分析并执行一个安卓应用,产生一系列的事件序列并传递给应用进行相应的处理,在产生传感器事件时,能够以较小的代价生成足够的数据以覆盖事件处理方法中与传感器数据相关的程序路径,并按照深度优先的方式遍历应用的状态空间,通过计算传感器数据利用率找到有问题的程序状态,最后得到的诊断结果是正确的、高效的和稳定的,上述所有的过程都是自动化的,不需要用户的额外参与。
附图说明
图1为本发明的安卓应用能耗问题诊断系统的结构图。
图2为自动执行安卓应用的算法流程图。
图3为自动生成传感器数据的算法流程图。
图4为自动分析传感器数据利用率的算法流程图。
具体实施方式
为了更清楚的对发明进行说明,首先,对一些用词进行解释。
安卓应用是指一个可以在安卓移动设备上的安装并运行的应用,当明确对之进行操作时特指这个应用的资源文件和字节码文件。
Java应用是指一个可以在装有JVM的计算机上运行的由Java语言编写的应用。
安卓应用的字节码是安卓应用的本质,它由若干个类文件组成,这些类中各自包含若干方法,这些类中的方法通过合作,共同实现特定的功能。
安卓应用GUI部件是指应用在运行过程中能够显示在屏幕上的部分,从应用的资源文件中解析得到应用初始时刻的GUI部件,当应用运行后,GUI部件可能会动态变化。
安卓应用事件是指由安卓系统或者用户产生的行为和动作,通过产生这样一系列的操作使用安卓应用,安卓应用通过响应这样一系列的操作为用户提供服务。
安卓应用传感器事件是指智能手机中所配备的传感器在采集物理环境数据时产生的行为和动作,安卓应用在需要使用传感器时打开传感器,在不需要使用时关闭传感器。
传感器数据是指传感器收集到的离散化了的真实物理环境的数据,传感器数据附着在传感器事件之中。
安卓应用事件处理方法是指应用中定义的用于响应事件的回调函数,当产生了事件后,安卓系统会自动调用注册过的对应的事件处理方法进行处理。
传感器事件处理过程是指从调用事件处理方法开始,到事件处理方法返回结束,这包含所有由事件处理方法直接或间接创建的工作线程结束。
程序状态是指安卓应用所处于的一种状态,此时程序的全局变量、局部变量和数据库等都有特定的值。
程序状态转移是指安卓应用在处于某一状态时,在处理了某个事件后,程序的内部某个值发生了改变,从而转移到了一个新的状态。
程序状态空间是指程序所有的状态的集合,并包含这些状态之间可能存在的转移,按照一定的方式,如深度优先方式,可以对程序的状态空间进行遍历。
处理传感器事件时的关键代码是指能够影响处理结果的指令,包括跳转指令、数据类型转换和库函数调用。
数据范围是指所需要采用的传感器数据的空间大小,包含组成该数据的变量及其值域。
关键代码是指改变程序执行流程,从而影响处理结果的指令,包括跳转指令、数据类型转换和库函数调用。
动态染色技术是指在调用事件处理方法时,为初始数据附着一个标识,如果某一个指令利用了带有标识的对象,则将标识传递下去,这样可以定位所有利用了初始数据的指令。
对用户的好处是指更新了用户可以感受到的数据或界面,如更新数据库、刷新屏幕。
下面通过附图和实施例来对本发明进行详细说明。
如图1所示,本发明的针对安卓应用对传感器的能耗漏洞的分析与检测系统,由安卓应用执行模块,传感器数据产生模块和传感器数据利用率分析模块构成,安卓应用执行模块分别和传感器数据产生模块和传感器数据利用率分析模块连接,并且所有的模块运行于验证可执行Java程序的JPF(Java Pathfinder)系统上。JPF是一个搭建在Java虚拟机JVM之上的虚拟机,能够保存程序运行时的快照,即状态,并根据需要取出这些状态以继续运行。这个性质保证了安卓应用执行模块可以按照深度优先的方式遍历应用的状态空间。JPF本身也是一个虚拟机,能够实时监控应用运行时刻字节码执行的情况,这个性质保证了传感器数据生成模块记录执行的关键代码和传感器数据利用率分析模块动态染色技术的实现。
本发明的针对安卓应用对传感器的能耗漏洞的分析与检测系统将安卓应用的字节码文件和资源文件作为输入,通过分析资源文件得到程序的GUI部件和初始状态时的事件处理方法。安卓应用执行模块将载入应用的字节码文件,按照安卓官方说明书开始初始化并运行该应用。在运行该应用的同时,如果需要产生传感器事件,安卓应用执行模块将会和传感器数据产生模块进行交互,如果后者能够继续产生新的数据,则将最新的数据传递给应用并进行相应的处理。同时将开启传感器数据利用率分析模块,开始计数此次传感器事件处理过程中(即状态转移)的传感器数据利用数,即能够给用户带来益处的指令数。当安卓应用执行模块分析完成后,将会调用传感器数据利用率分析模块生成每次与传感器数据有关的状态转移的数据利用率。最后,系统将所有的状态转移按照它们的数据利用率由低到高的顺序报告给用户。较低的数据利用率表明给用户带来了很少的益处,该应用可能需要进行相应的优化以提高其数据利用率。同时,系统会向用户报告导致相应的数据利用率的事件序列,以重放整个过程。
图2描述了安卓应用执行模块的工作流程。该模块能够根据安卓的官方说明调用应用的各个事件处理方法,并且按照深度优先的方式遍历程序的状态空间。在此过程中,对于由传感器事件触发的状态转移,会与另外两个模块进行交互计算出此次状态转移的传感器数据利用率。此模块结束运行表明系统的分析过程的结束。
安卓应用执行模块首先读入应用的字节码文件和资源文件,并解析得到应用的GUI部件和初始时刻能够调用的事件处理方法集合。该模块将初始应用状态和与之对应的能够调用的事件处理方法集合压入一个栈的数据结构中,并进入一个循环。这个循环的结束判定条件为栈内元素是否为空,如果为空,表明分析已经结束,则从传感器数据利用率分析模块获取结果,整理并报告给用户;如果不为空,将按照如下的步骤进行处理。首先,获取得到栈顶的应用状态作为当前的应用状态及其对应的事件处理方法集合(此时并不将栈顶元素出栈)。判断是否存在一个之前未调用过的非传感器事件处理方法,如果存在,则选择一个这样的处理方法并产生相应的事件以激活该方法。如果不存在,则判断当前状态下是否能够产生传感器事件,如果能够产生,则调用传感器数据产生模块利用多维的白盒采样算法生成数据,如果能够继续生成新数据,则开启传感器数据利用率分析模块的功能,并产生一个包裹了新数据的传感器事件,该事件会附着一个特殊的标记以实现动态染色技术,如果不能够产生传感器事件或者传感器数据产生模块不能生成新数据,则移除栈顶的元素并开始下一次循环。对于产生的非传感器事件或者包含新数据的传感器事件,都会将之传递给当前的应用状态。当前应用状态会开始运行并处理新生成的事件,并转移到下一个新的状态。该模块此时关闭传感器数据利用率的分析功能(无论之前是否打开)。接着分析得到新状态下能够调用的事件处理方法的集合,并连同新状态一起压入栈内,开始下一次循环。
多维的白盒采样算法是指程序首先获取被采样的数据的初始范围空间,并将该范围空间的边界点传递给应用并进行相应的处理,同时获取每个边界点对应的关键指令。该算法会判断每个数据范围空间的边界点的关键指令是否完全相同,如果相同且数据范围空间的大小大于阈值1或者不同且数据范围空间的大小大于阈值2,则选择该数据范围空间中具有最大值域的变量,并根据该变量将其分割为两个较小的子数据范围空间,同时将新产生的边界点传递应用以处理。该算法对新生成的子数据范围空间进行相同的处理,直到生成的所有数据范围空间都被处理过。
图3描述了传感器数据产生模块的算法工作流程。该模块实现了多维的白盒采样算法,根据应用处理数据的历史情况生成新的数据。
传感器数据产生模块首先获取需要采样的数据的初始范围空间,表明组成该传感器数据的变量的个数和每个变量的值域。数据的初始范围的边界点,即由各个变量的最大或最小值组成的数据点,作为第一批采样得到的数据,将会传递给应用程序执行,在执行的过程中将会记录它们的关键指令的执行情况,即在JPF虚拟机上判断当前执行的指令是否属于关键指令,并保存下来。接着数据的初始范围将会被压入一个栈,并进入一个循环。循环体结束的判定条件是栈内元素是否为空,若为空,则跳出循环并结束采样;若不为空,则开始执行循环内的代码。栈顶元素被弹出,并作为当前的数据范围空间。接下来判断当前数据范围的所有的边界数据点对应的关键代码是否一致(注意每个边界数据点之前已经被处理过一次,并且保存了对应的关键代码),这里的一致指所有的边界数据点对应的关键代码都一样,只要存在一个数据点不同,则被认为不一致。如果一致,则判断当前数据范围的大小是否大于阈值1;如果不一致,则判断当前数据范围的大小是否大于阈值2。如果一致但不大于阈值1或者不一致但不大于阈值2,则将会结束此次循环。如果一致且大于阈值1或者不一致且大于阈值2,将会在当前数据范围空间中选择具有最大值域的变量。接下来根据选择的变量将数据范围空间分为两个较小的子范围,分裂点为该变量的中间位置处。将新产生的边界数据点作为新的采样数据并传递给应用处理并记录相应的关键代码。最后,将两个子数据范围空间压入栈内并结束此次循环。
这里的阈值1大于阈值2,阈值1的作用是保证在一个较大的数据范围空间中采样得到足够的数据;阈值2的作用是用来避免在一个较小的数据范围空间内进行采样生成太多的数据。较小的阈值能够保证得到更多类型、更完备的数据点,但是会增大系统的额外开销,包括时间与空间。
图4描述了传感器数据利用率分析模块的执行流程。该模块会监视应用每一条指令的执行情况,根据当前是否正在处理传感器事件而决定是否实现动态染色技术和记录对用户有益的指令。
在一条指令执行完毕后,传感器数据利用率分析模块会获取当前执行的指令的相关信息。然后判断是否正在处理传感器事件(这是在安卓应用执行模块中设定的),如果不是,则直接结束;如果是,则做进一步处理。模块接着判断指令中是否包含了初始附着在传感器事件中的特殊标记,如果不包含,说明该条指令并未直接或间接地利用传感器数据,可以结束;如果包含,说明该条指令同本次处理的传感器事件有一定的联系。如果这条指令的结果影响了其中的某个对象,则将特殊标记附着在该对象上,即完成动态染色技术。接着判断这条指令是否会给用户带来益处,这里使用了预先准备好的一个能给用户带来益处的指令的集合,即只需判断这条指令是否属于本集合,如果不属于,则可以直接结束;如果属于,则需要记录该条指令对传感器数据的利用数,最后结束整个流程。
本发明提供了一种针对安卓应用对传感器的能耗漏洞的分析与检测系统。这种技术能够解析一个安卓应用的所有GUI部件和注册的事件处理方法,并根据安卓系统的官方说明书自动执行安卓应用,即按照一定的顺序调用事件处理方法。在执行安卓应用过程中,这种技术会自动生成相应的事件以触发相应的事件处理方法,并且按照深度优先的方式遍历程序的整个状态空间。在生成传感器事件时,这种技术会根据以往处理该事件的历史情况,包括输入的数据和执行的关键代码,按照多维的白盒采样算法生成新的数据并附着在传感器事件中。最后,在应用处理传感器数据时,这种技术通过动态染色技术定位所有使用了传感器数据的且对用户有益的API调用,并统计得到每次处理后的传感器数据利用率。这种技术将会向用户报告能够导致较低传感器数据利用率的事件序列和传感器数据。本技术是一个自动化的过程。
虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
Claims (7)
1.一种针对安卓应用对传感器的能耗漏洞的分析与检测系统,由安卓应用执行模块,传感器数据产生模块和传感器数据利用率分析模块构成;安卓应用执行模块分别和传感器数据产生模块和传感器数据利用率分析模块连接,其特征在于:所有的模块运行于验证可执行Java程序的JPF系统上;
安卓应用执行模块是指解析得到应用的所有事件处理方法,产生模拟事件以激活相应的处理方法,并在事件处理结束后更新事件处理方法的集合,通过产生特定的事件序列,到达对应的程序状态;
安卓应用执行模块的工作流程为:安卓应用执行模块首先读入应用的字节码文件和资源文件,并解析得到应用的GUI部件和初始时刻能够调用的事件处理方法集合,该模块将初始应用状态和与之对应的能够调用的事件处理方法集合压入一个栈的数据结构中,并进入一个循环;这个循环的结束判定条件为栈内元素是否为空,如果是空,表明分析已经结束,则从传感器数据利用率分析模块获取结果,整理并报告给用户;如果不为空,将按照如下的步骤进行处理:首先,获取得到栈顶的应用状态作为当前的应用状态及其对应的事件处理方法集合,此时并不将栈顶元素出栈,判断是否存在一个之前未调用过的非传感器事件处理方法,如果存在,则选择一个这样的处理方法并产生相应的事件以激活该方法,如果不存在,则判断当前状态下是否能够产生传感器事件,如果能够产生,则调用传感器数据产生模块利用多维的白盒采样算法生成数据,如果能够继续生成新数据,则开启传感器数据利用率分析模块的功能,并产生一个包裹了新数据的传感器事件,该事件会附着一个特殊的标记以实现动态染色技术,如果不能够产生传感器数据或者传感器数据产生模块不能生成新数据,则移除栈顶的元素并开始下一次循环;
传感器数据产生模块的算法工作流程为:传感器数据产生模块首先获取需要采样的数据的初始范围空间,表明组成该传感器数据的变量的个数和每个变量的值域,数据的初始范围的边界点,即由各个变量的最大或最小值组成的数据点,作为第一批采样得到的数据,将会传递给应用程序执行,在执行的过程中将会记录它们的关键指令的执行情况,即在JPF虚拟机上判断当前执行的指令是否属于关键指令,并保存下来,接着数据的初始范围将会被压入一个栈,并进入一个循环,循环体结束的判定条件是栈内元素是否为空,若为空,则跳出循环并结束采样;若不为空,则开始执行循环内的代码,栈顶元素被弹出,并作为当前的数据范围空间;接下来判断当前数据范围的所有的边界数据点对应的关键代码是否一致,每个边界数据点之前已经被处理过一次,并且保存了对应的关键代码,这里的一致指所有的边界数据点对应的关键代码都一样,只要存在一个数据点不同,则被认为不一致,如果一致,则判断当前数据范围的大小是否大于阈值1;如果不一致,则判断当前数据范围的大小是否大于阈值2,如果一致但不大于阈值1或者不一致但不大于阈值2,则将会结束此次循环,如果一致且大于阈值1或者不一致且大于阈值2,将会在当前数据范围空间中选择具有最大值域的变量,接下来根据选择的变量将数据范围空间分为两个较小的子范围,分裂点为该变量的中间位置处,将新产生的边界数据点作为新的采样数据并传递给应用处理并记录相应的关键代码,最后,将两个子数据范围空间压入栈内并结束此次循环。
2.如权利要求1所述的针对安卓应用对传感器的能耗漏洞的分析与检测系统,其特征在于:传感器数据产生模块是指在将初始的数据范围的边界值传递给应用后,记录应用在处理对应的传感器事件过程中执行的所有的关键代码,并判断各个边界值对应的关键代码是否相同,如果相同且该数据范围大于一定的阈值,则将该数据范围划分为较小的范围,如果不同但该数据范围大于另一个较小的阈值,依然将其划分为较小的子范围。
3.如权利要求2所述的针对安卓应用对传感器的能耗漏洞的分析与检测系统,其特征在于:传感器数据利用率分析模块是指利用动态染色技术标识定位出所有利用了传感器数据的方法调用,并记录其中对用户带来好处的方法调用,统计得到每次由传感器事件所触发的状态转移时的数据利用数,并通过比较所有的状态转移的利用数计算得到每次状态转移的相对传感器数据利用率。
4.如权利要求3所述的针对安卓应用对传感器的能耗漏洞的分析与检测系统,其特征在于:传感器数据利用率分析模块的执行流程为:在一条指令执行完毕后,传感器数据利用率分析模块会获取当前执行的指令的相关信息,然后判断是否正在处理传感器事件,这是在安卓应用执行模块中设定的,如果不是,则直接结束;如果是,则做进一步处理,模块接着判断指令中是否包含了初始附着在传感器事件中的特殊标记,如果不包含,说明该条指令并未直接或间接地利用传感器数据,可以结束;如果包含,说明该条指令同本次处理的传感器事件有一定的联系,如果这条指令的结果影响了其中的某个对象,则将特殊标记附着在该对象上,即完成动态染色技术,接着判断这条指令是否会给用户带来益处,这里使用了预先准备好的一个能给用户带来益处的指令的集合,即只需判断这条指令是否属于本集合,如果不属于,则可以直接结束;如果属于,则需要记录该条指令对传感器数据的利用数,最后结束整个流程。
5.如权利要求4所述的针对安卓应用对传感器的能耗漏洞的分析与检测系统,其特征在于:所述关键代码是指改变程序执行流程,从而影响处理结果的指令,包括跳转指令、数据类型转换和库函数调用。
6.如权利要求5所述的针对安卓应用对传感器的能耗漏洞的分析与检测系统,其特征在于:所述边界点是指组成数据范围空间的所有变量的极大极小值构成的数据点,它们的值域的长度的乘积为该数据范围空间的大小。
7.如权利要求6所述的针对安卓应用对传感器的能耗漏洞的分析与检测系统,其特征在于:所述动态染色技术是指在调用事件处理方法时,为初始数据附着一个标识,某一个指令利用了带有标识的对象,则将标识传递下去,这样定位所有利用了初始数据的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218338.9A CN104778092B (zh) | 2015-04-30 | 2015-04-30 | 一种针对安卓应用对传感器的能耗漏洞的分析与检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218338.9A CN104778092B (zh) | 2015-04-30 | 2015-04-30 | 一种针对安卓应用对传感器的能耗漏洞的分析与检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778092A CN104778092A (zh) | 2015-07-15 |
CN104778092B true CN104778092B (zh) | 2017-09-12 |
Family
ID=53619573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510218338.9A Active CN104778092B (zh) | 2015-04-30 | 2015-04-30 | 一种针对安卓应用对传感器的能耗漏洞的分析与检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778092B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021042B (zh) * | 2016-05-09 | 2020-01-10 | Oppo广东移动通信有限公司 | 传感器使用情况的检测方法、装置和移动设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037583A (zh) * | 2012-12-19 | 2013-04-10 | 安徽芯瑞达电子科技有限公司 | 基于android系统的防火节能LED控制系统 |
CN103473069A (zh) * | 2013-09-24 | 2013-12-25 | 北京大学 | 利用Android系统API的访问代价模型优化移动应用程序的方法 |
CN104063221A (zh) * | 2014-06-25 | 2014-09-24 | 四川大学 | 一种智能手机上下文感知服务的低功耗传感器轮询方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188287A1 (en) * | 2012-12-31 | 2014-07-03 | Ashok Sabata | iComfort: Method to measure and control your micro-climate using a smart phone |
-
2015
- 2015-04-30 CN CN201510218338.9A patent/CN104778092B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037583A (zh) * | 2012-12-19 | 2013-04-10 | 安徽芯瑞达电子科技有限公司 | 基于android系统的防火节能LED控制系统 |
CN103473069A (zh) * | 2013-09-24 | 2013-12-25 | 北京大学 | 利用Android系统API的访问代价模型优化移动应用程序的方法 |
CN104063221A (zh) * | 2014-06-25 | 2014-09-24 | 四川大学 | 一种智能手机上下文感知服务的低功耗传感器轮询方法 |
Non-Patent Citations (2)
Title |
---|
基于动态染色的内存漏洞定位技术;房陈;《计算机工程》;20100430;第36卷(第7期);139-141 * |
面向移动环境的高效情景数据挖掘及节能感知方法研究;李学英;《中国博士学位论文全文数据库 信息科技辑》;20130215(第2期);第I138-14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104778092A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3508977A1 (en) | Partitioning based migration of systems to container and microservice based platforms | |
CN104834859B (zh) | 一种Android应用中恶意行为的动态检测方法 | |
CN106557413A (zh) | 基于代码覆盖率获取测试用例的方法和设备 | |
US20190340512A1 (en) | Analytics for an automated application testing platform | |
CN108647145A (zh) | 软件内存安全检测方法及系统 | |
US20190317879A1 (en) | Deep learning for software defect identification | |
KR20190041912A (ko) | 바이너리 기반 보안 취약점 탐색 시스템, 그 방법 및 프로그램 | |
US11379260B2 (en) | Automated semantic tagging | |
CN108491321A (zh) | 测试用例范围确定方法、装置及存储介质 | |
CN108874470A (zh) | 一种信息处理方法及服务器、计算机存储介质 | |
CN110286917A (zh) | 文件打包方法、装置、设备及存储介质 | |
CN105677311A (zh) | 一种函数调用关系的识别方法及装置 | |
CN109783161A (zh) | iOS系统中应用程序的运行信息确定方法、装置 | |
CN109918296A (zh) | 软件自动化测试方法及装置 | |
CN106021101A (zh) | 对移动终端进行测试的方法及装置 | |
CN109214178A (zh) | App应用恶意行为检测方法及装置 | |
CN104462943A (zh) | 业务系统中非侵入式性能监控装置和方法 | |
CN113535399A (zh) | 一种nfv资源调度方法、装置以及系统 | |
CN106529304B (zh) | 一种安卓应用并发漏洞检测系统 | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN110532776A (zh) | 基于运行时数据分析的Android恶意软件高效检测方法、系统及介质 | |
CN110298007A (zh) | 用户行为统计方法、装置、电子设备及计算机可读存储介质 | |
CN107703773A (zh) | 一种基于硬件在环仿真系统的软件测试方法及装置 | |
CN104778092B (zh) | 一种针对安卓应用对传感器的能耗漏洞的分析与检测系统 | |
CN110321458A (zh) | 一种基于控制流图的数据流分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |