-
公开(公告)号:CN110362363A
公开(公告)日:2019-10-22
申请号:CN201910498732.0
申请日:2019-06-10
Applicant: 北京大学
Abstract: 本发明公开了一种基于运行时模型实现对终端应用控制的方法,通过定义运行时模型上的操作以及模型片段在堆、栈区域影响的等价性,实现了复杂的应用行为模型的分解,可操作的模型片段,并基于分解的模型片段,建立行为模型与应用状态和应用代码的因果关联,实现了在终端应用运行时对其应用行为的指令级别的控制。
-
公开(公告)号:CN110362301A
公开(公告)日:2019-10-22
申请号:CN201910498200.7
申请日:2019-06-10
Applicant: 北京大学
Abstract: 本发明公开了一种终端应用行为反射的处理方法,通过行为解释器,生成一个完整、准确、详实的应用行为自述,即终端应用应用行为的运行时模型,克服了现有技术在动态、多变、难控的应用运行时的不足,实现了对终端应用应用行为的灵活、完整的监测,然后基于生成的运行时模型,定义运行时模型上的操作以及模型片段在堆、栈区域影响的等价性,实现了复杂的应用行为模型的分解,可操作的模型片段,并基于分解的模型片段,建立行为模型与应用状态和应用代码的因果关联,实现了在终端应用运行时对其应用行为的指令级别的控制。
-
公开(公告)号:CN109240700A
公开(公告)日:2019-01-18
申请号:CN201810737264.3
申请日:2018-07-06
Applicant: 北京大学
IPC: G06F8/41
Abstract: 本发明公开了一种关键代码定位方法与系统,本发明在关键代码定位阶段,通过程序插桩的方式采集预设的输入参数的场景下从接口参数约束代码的入口函数开始的函数调用关系,并据此对各函数进行关键代码分析,以定位出与接口参数相关的所有约束代码。本发明有效解决了现有技术在将信息系统中的数据和功能服务化的过程中,在编写处理程序时难以定位到关键代码的问题,帮助开发者快速定位到关键代码,从而帮助开发者更快筛选出真正跟参数约束密切相关的代码。
-
公开(公告)号:CN109240666A
公开(公告)日:2019-01-18
申请号:CN201811015368.X
申请日:2018-08-31
Applicant: 北京大学
IPC: G06F8/30
Abstract: 本发明公开了一种基于调用栈和依赖路径的函数调用代码生成方法及系统,通过对安卓应用运行进行监控,得到应用的行为反射运行时模型,并在行为反射运行时模型的运行时栈模型中标注包含目标数据的目标对象,并生成目标对象的所有函数调用集,再根据使用每一函数调用集生成函数调用代码的难度为每一函数调用集进行评分,并根据评分推荐函数调用集以生成函数调用代码。本发明能够在需要生成一条函数调用对应的代码时,对于每个未构造的新对象,快速找出对象之前调用的函数、以对象作为参数的函数以及函数调用栈,形成多个函数组合,并以此为基础为其推荐代码生成可能性高的方案,有效解决安卓应用微服务开发中执行序列复杂的难题。
-
公开(公告)号:CN105487960B
公开(公告)日:2019-01-18
申请号:CN201511000936.5
申请日:2015-12-28
Applicant: 北京大学
IPC: G06F11/30
Abstract: 本发明公开了一种基于物理实测的移动端APP加载能耗自动测量方法。本方法为:1)将指定的移动端Web和移动端机型发送给服务器;2)服务器将该移动端Web传送到对应移动端上运行的浏览器中加载该移动端Web,并启动电表开始测量;在测量过程中获取每一网络资源的请求时间、接收时间以及计算时间;3)当该移动端Web在该移动端上加载完成后,服务器对测量数据进行处理:首先根据网络资源的请求时间、接收时间以及计算时间得到页面加载过程及其中的时间戳,然后将获得的时间戳与该服务器的时间进行同步;然后根据同步后的时间和电表测量数据计算该移动端Web在该移动端上加载产生的能耗。本方法大大提高了测量精度。
-
公开(公告)号:CN109189469A
公开(公告)日:2019-01-11
申请号:CN201811012655.5
申请日:2018-08-31
Applicant: 北京大学
IPC: G06F8/72
Abstract: 本发明公开了一种基于反射的安卓应用微服务化方法及系统,通过对安卓应用运行进行监控,得到应用的行为反射运行时模型,并在其中的运行时栈模型中标注包含目标数据的目标对象,生成目标对象的所有函数调用集,再根据使用函数调用集生成函数调用代码的难度为每一函数调用集进行评分,并根据评分推荐函数调用集以生成可执行的函数调用代码。对不能在运行时栈模型中生成的目标对象,在运行时堆模型中生成目标对象的所有引用链,并构造类加载器,再根据被选择的目标对象引用链生成目标对象构造代码,最后再将生成的函数调用代码和目标对象构造代码结合起来包装成微服务接口。本发明能大大减少开发安卓应用微服务的时间,有效解决安卓应用微服务开发中执行序列复杂与数据依赖复杂两大难题。
-
公开(公告)号:CN109189374A
公开(公告)日:2019-01-11
申请号:CN201811015372.6
申请日:2018-08-31
Applicant: 北京大学
Abstract: 本发明公开了一种基于对象引用链的对象构造代码生成方法及系统,对于不能在运行时栈模型中生成的目标对象,根据目标对象间的引用信息生成目标对象的所有引用链,判断被选择的目标对象引用链开头的静态对象的类加载器是否与应用类加载器一致,如果不一致,则将类加载器作为新的目标对象进一步构造类加载器,最后根据被选择的目标对象引用链生成目标对象构造代码。本发明能够在选定要生成的目标对象后,根据对象引用信息生成多条引用路径,并以此为基础推荐代码生成可用性高的路径,从而快速生成目标对象的所有函数引用链方案,有效解决安卓应用微服务开发中数据依赖复杂的难题。
-
公开(公告)号:CN109117164A
公开(公告)日:2019-01-01
申请号:CN201811014183.7
申请日:2018-08-31
Applicant: 北京大学
Abstract: 本发明公开了一种基于关键元素差异性分析的微服务更新方法及系统,通过对微服务中字节码的分析筛选出需要分析的关键元素集合,并通过对各关键元素在新旧版本安卓应用之间相似度的分析判断安卓应用在版本变化过程中相对于微服务是否发生了破坏性变化,并在发生破坏性变化时,通过分析各关键元素在新旧版本安卓应用之间的相似度,判断各关键元素是否发生了破坏性变化,以对微服务中需要修改的关键元素进行定位,并为每个需要修改的关键元素给出修改推荐列表,进而根据修改推荐列表对微服务进行更新,避免了在安卓应用版本发生非破坏性变化时对微服务进行无必要的修改和对微服务中没必要修改的关键元素进行修改,减少了资源浪费,提高了微服务升级效率。
-
公开(公告)号:CN109062785A
公开(公告)日:2018-12-21
申请号:CN201810738453.2
申请日:2018-07-06
Applicant: 北京大学
CPC classification number: G06F11/3624 , G06F8/75
Abstract: 本发明公开了一种接口参数约束代码定位方法与系统,在约束代码入口定位阶段,先收集预设的输入参数的场景下系统客户端中的代码覆盖数据,并据此对系统客户端进行选择性插桩以插入探针,然后运行插桩后的系统客户端并演示场景,以触发读取接口参数和执行探针,通过探针打印出当前的函数调用栈和输入控件元信息,并据此定位到接口参数约束代码的入口函数。在关键代码定位阶段,通过程序插桩的方式采集场景下从入口函数开始的函数调用关系,并据此对各函数进行关键代码分析,以定位出与接口参数相关的所有约束代码。本发明有效解决了接口参数约束代码的定位问题,从而帮助开发者筛选出真正跟参数约束密切相关的代码。
-
公开(公告)号:CN108932322A
公开(公告)日:2018-12-04
申请号:CN201810693973.6
申请日:2018-06-29
Applicant: 北京大学
IPC: G06F17/30
Abstract: 本发明公开了一种基于文本大数据的地理语义挖掘方法。本发明采用数据爬取得到带有地理位置标签的文本数据,然后对选取的部分文本数据分配地理语义主题,再将文本数据进行预处理生成词向量,然后再通过机器学习的方式得到所有文本的地理语义主题,最终将所有的地理语义主题以向量的形式输出;本发明根据一个地区的文本数据对该地区的地理语义进行推测,为进一步的城市规划、商业选址、出行规划等提供理论支持和假设;同时本发明的结果还有助于加强人们对某一地区的了解,为人们的出行或游玩规划提供帮助。
-
-
-
-
-
-
-
-
-