-
公开(公告)号:CN108762752B
公开(公告)日:2019-07-12
申请号:CN201810282385.3
申请日:2018-04-02
Applicant: 北京大学
IPC: G06F8/36
Abstract: 本发明涉及一种结合动态和静态代码分析技术的安卓应用程序功能类图生成方法和装置。该方法包括:1)基于动态Trace分析,获取安卓应用程序的功能类集合;2)根据获取的功能类集合,利用静态智能搜索技术分析安卓应用程序的源代码,生成功能类图。本发明结合了现有技术的特点,创新性地使用了动态Trace分析与静态源码分析相结合的技术手段,通过动态Trace分析,发现并获取与特定功能相关的类集合,进而利用其进行静态智能搜索,生成功能类图。本发明能够有效解决安卓应用程序功能类图的自动生成问题,提高了开发人员对APP代码的理解效率,降低了代码复用的难度。
-
公开(公告)号:CN108804111A
公开(公告)日:2018-11-13
申请号:CN201810282098.2
申请日:2018-04-02
Applicant: 北京大学
IPC: G06F8/53
CPC classification number: G06F8/53
Abstract: 本发明涉及一种建立安卓应用程序不同版本间反编译类集合映射关系的方法和装置。该方法包括:1)获取两个不同版本安卓应用程序的反编译类集合,将其中一个版本的反编译类集合作为评判集,另一个版本的反编译类集合作为被评判对象;2)确定因素集,根据评判集和因素集计算在每个因素上被评判类对于评判集中每个类的隶属度,根据隶属度形成模糊矩阵;3)定义因素的权重,根据因素的权重和模糊矩阵计算被评判类对于评判集中每个类的总隶属度;4)根据总隶属度的大小判定被评判类是否与评判集中的类建立映射关系。本发明提高了开发人员对APP不同版本间差异的理解效率,降低了缺失文档生成的难度。
-
公开(公告)号:CN108762752A
公开(公告)日:2018-11-06
申请号:CN201810282385.3
申请日:2018-04-02
Applicant: 北京大学
IPC: G06F8/36
CPC classification number: G06F8/36
Abstract: 本发明涉及一种结合动态和静态代码分析技术的安卓应用程序功能类图生成方法和装置。该方法包括:1)基于动态Trace分析,获取安卓应用程序的功能类集合;2)根据获取的功能类集合,利用静态智能搜索技术分析安卓应用程序的源代码,生成功能类图。本发明结合了现有技术的特点,创新性地使用了动态Trace分析与静态源码分析相结合的技术手段,通过动态Trace分析,发现并获取与特定功能相关的类集合,进而利用其进行静态智能搜索,生成功能类图。本发明能够有效解决安卓应用程序功能类图的自动生成问题,提高了开发人员对APP代码的理解效率,降低了代码复用的难度。
-
公开(公告)号:CN109189469B
公开(公告)日:2020-08-28
申请号:CN201811012655.5
申请日:2018-08-31
Applicant: 北京大学
IPC: G06F8/72
Abstract: 本发明公开了一种基于反射的安卓应用微服务化方法及系统,通过对安卓应用运行进行监控,得到应用的行为反射运行时模型,并在其中的运行时栈模型中标注包含目标数据的目标对象,生成目标对象的所有函数调用集,再根据使用函数调用集生成函数调用代码的难度为每一函数调用集进行评分,并根据评分推荐函数调用集以生成可执行的函数调用代码。对不能在运行时栈模型中生成的目标对象,在运行时堆模型中生成目标对象的所有引用链,并构造类加载器,再根据被选择的目标对象引用链生成目标对象构造代码,最后再将生成的函数调用代码和目标对象构造代码结合起来包装成微服务接口。本发明能大大减少开发安卓应用微服务的时间,有效解决安卓应用微服务开发中执行序列复杂与数据依赖复杂两大难题。
-
公开(公告)号:CN109189374B
公开(公告)日:2020-08-28
申请号:CN201811015372.6
申请日:2018-08-31
Applicant: 北京大学
Abstract: 本发明公开了一种基于对象引用链的对象构造代码生成方法及系统,对于不能在运行时栈模型中生成的目标对象,根据目标对象间的引用信息生成目标对象的所有引用链,判断被选择的目标对象引用链开头的静态对象的类加载器是否与应用类加载器一致,如果不一致,则将类加载器作为新的目标对象进一步构造类加载器,最后根据被选择的目标对象引用链生成目标对象构造代码。本发明能够在选定要生成的目标对象后,根据对象引用信息生成多条引用路径,并以此为基础推荐代码生成可用性高的路径,从而快速生成目标对象的所有函数引用链方案,有效解决安卓应用微服务开发中数据依赖复杂的难题。
-
公开(公告)号:CN108804111B
公开(公告)日:2019-07-05
申请号:CN201810282098.2
申请日:2018-04-02
Applicant: 北京大学
IPC: G06F8/53
Abstract: 本发明涉及一种建立安卓应用程序不同版本间反编译类集合映射关系的方法和装置。该方法包括:1)获取两个不同版本安卓应用程序的反编译类集合,将其中一个版本的反编译类集合作为评判集,另一个版本的反编译类集合作为被评判对象;2)确定因素集,根据评判集和因素集计算在每个因素上被评判类对于评判集中每个类的隶属度,根据隶属度形成模糊矩阵;3)定义因素的权重,根据因素的权重和模糊矩阵计算被评判类对于评判集中每个类的总隶属度;4)根据总隶属度的大小判定被评判类是否与评判集中的类建立映射关系。本发明提高了开发人员对APP不同版本间差异的理解效率,降低了缺失文档生成的难度。
-
公开(公告)号:CN109240666B
公开(公告)日:2020-08-25
申请号:CN201811015368.X
申请日:2018-08-31
Applicant: 北京大学
IPC: G06F8/30
Abstract: 本发明公开了一种基于调用栈和依赖路径的函数调用代码生成方法及系统,通过对安卓应用运行进行监控,得到应用的行为反射运行时模型,并在行为反射运行时模型的运行时栈模型中标注包含目标数据的目标对象,并生成目标对象的所有函数调用集,再根据使用每一函数调用集生成函数调用代码的难度为每一函数调用集进行评分,并根据评分推荐函数调用集以生成函数调用代码。本发明能够在需要生成一条函数调用对应的代码时,对于每个未构造的新对象,快速找出对象之前调用的函数、以对象作为参数的函数以及函数调用栈,形成多个函数组合,并以此为基础为其推荐代码生成可能性高的方案,有效解决安卓应用微服务开发中执行序列复杂的难题。
-
公开(公告)号:CN109240666A
公开(公告)日:2019-01-18
申请号:CN201811015368.X
申请日:2018-08-31
Applicant: 北京大学
IPC: G06F8/30
Abstract: 本发明公开了一种基于调用栈和依赖路径的函数调用代码生成方法及系统,通过对安卓应用运行进行监控,得到应用的行为反射运行时模型,并在行为反射运行时模型的运行时栈模型中标注包含目标数据的目标对象,并生成目标对象的所有函数调用集,再根据使用每一函数调用集生成函数调用代码的难度为每一函数调用集进行评分,并根据评分推荐函数调用集以生成函数调用代码。本发明能够在需要生成一条函数调用对应的代码时,对于每个未构造的新对象,快速找出对象之前调用的函数、以对象作为参数的函数以及函数调用栈,形成多个函数组合,并以此为基础为其推荐代码生成可能性高的方案,有效解决安卓应用微服务开发中执行序列复杂的难题。
-
公开(公告)号: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: 本发明公开了一种基于对象引用链的对象构造代码生成方法及系统,对于不能在运行时栈模型中生成的目标对象,根据目标对象间的引用信息生成目标对象的所有引用链,判断被选择的目标对象引用链开头的静态对象的类加载器是否与应用类加载器一致,如果不一致,则将类加载器作为新的目标对象进一步构造类加载器,最后根据被选择的目标对象引用链生成目标对象构造代码。本发明能够在选定要生成的目标对象后,根据对象引用信息生成多条引用路径,并以此为基础推荐代码生成可用性高的路径,从而快速生成目标对象的所有函数引用链方案,有效解决安卓应用微服务开发中数据依赖复杂的难题。
-
-
-
-
-
-
-
-
-