[发明专利]一种终端应用行为反射的处理方法有效
申请号: | 201910498200.7 | 申请日: | 2019-06-10 |
公开(公告)号: | CN110362301B | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 黄罡;张颖;蔡华谦;刘譞哲 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F8/35 | 分类号: | G06F8/35;G06F8/41 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 终端 应用 行为 反射 处理 方法 | ||
1.一种终端应用行为反射的处理方法,其特征在于,所述方法包括:
构造所述终端应用的运行时模型,所述运行时模型包括运行时栈模型和运行时堆模型;
基于所述运行时模型,对所述终端应用的应用行为进行控制;
其中:
构造所述终端应用的运行时栈模型的子步骤包括:
在所述终端应用运行时,获取所述终端应用的内存中真正执行的代码,并对所述真正执行的代码进行抽象,生成控制流图;
针对所述控制流图,将需要监测的控制流图输入至预设的行为解释器;
利用所述行为解释器对所述需要监测的控制流图进行解释执行,生成所述终端应用运行时的栈活动;
在所述终端应用运行时,生成所述栈活动的控制流间的依赖关系,得到所述终端应用行为的运行时栈模型;
构造所述终端应用的运行时堆模型的子步骤包括:
在所述终端应用运行时,生成堆区的初始状态;
生成堆操作活动,得到所述终端应用行为的运行时堆模型;
基于所述运行时模型,对所述终端应用的应用行为进行控制的子步骤包括:
预定义对所述运行时模型的操作以及模型片段在堆、栈区域影响的等价性;
对所述运行时模型保持所述等价性进行转换,对所述运行时模型进行分解,得到一组可操作的模型片段;
根据分解后的模型片段,建立所述运行时模型与应用状态和应用代码的因果关联,以对所述终端应用行为进行控制。
2.如权利要求1所述的方法,其特征在于,构造所述终端应用的运行时模型前,所述方法包括:
确定类筛选器和活动类型筛选器;其中,所述类筛选器基于包和类名正则匹配的粗粒度筛选,用于去除开发人员不关心的程序活动;所述活动类型筛选器基于活动类型的细粒度筛选,用于去除与开发者不关心的活动类型。
3.如权利要求2所述的方法,其特征在于,所述栈活动的活动类型包括方法开始与方法结束,字段读,数组读和同步指令;
利用所述行为解释器对所述需要监测的控制流图进行解释执行,生成所述终端应用运行时的栈活动的子步骤进一步包括:
利用对所述终端应用的应用行为具有监测功能的行为解释器对所述需要监测的控制流图进行解释执行,获得所述终端应用运行时的活动;
根据所关注的类,利用所述类筛选器对所述终端应用运行时的活动进行粗粒度筛选,生成由所述类引起的栈活动;
针对所述栈活动的活动类型,利用所述活动类型筛选器对所述栈活动进行细粒度筛选。
4.如权利要求2所述的方法,其特征在于,所述堆操作活动的活动类型包括对象实例化,数组实例化,对象字段写,数组元素写,清除活动和压缩活动;
所述生成堆操作活动的子步骤进一步包括:
根据所关注的类,利用所述类筛选器对所述终端应用运行时的活动进行粗粒度筛选,生成由所述类引起的堆操作活动;
针对所述堆操作活动的活动类型,利用所述活动类型筛选器对所述堆操作活动进行细粒度筛选。
5.如权利要求1所述的方法,其特征在于,所述依赖关系包括同步依赖和通信依赖。
6.如权利要求1所述的方法,其特征在于,对所述终端应用行为进行控制包括对所述终端应用行为进行行为式控制和/或结构式控制。
7.如权利要求6所述的方法,其特征在于,对所述终端应用行为进行行为式控制的步骤包括:
设终端应用的内存初始状态S,活动序列A;
经过一段时间的执行,获取运行后的内存状态为S·A=S',对所述运行时模型保持所述等价性进行转换后的活动序列为A',得到目标状态为S·A′=S″;
利用S·A′=(S·A)·A″=S′·A″求解增量活动序列A″,使得A+A″=A',完成对所述终端应用行为进行行为式控制的过程。
8.如权利要求7所述的方法,其特征在于,所述增量活动序列A″包括:控制转移、算术运算、字段读取、数组读取、类实例化、数组实例化,字段赋值、数组赋值、线程同步、垃圾回收、方法调用和类加载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910498200.7/1.html,转载请声明来源钻瓜专利网。