[发明专利]一种Android应用程序运行时API调用量预估方法有效
申请号: | 201711011556.0 | 申请日: | 2017-10-26 |
公开(公告)号: | CN107832612B | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 范文浩;张岱帅;吴帆;张洪光;刘元安 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/53 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 应用程序 运行 api 调用 预估 方法 | ||
1.一种Android应用程序运行时API调用量预估方法,其特征是,该方法包括以下步骤:
S1:通过静态解析技术分析Android应用程序安装包并收集该应用程序中Android组件、控件以及所使用API的相关数据;
S2:通过XML文件和静态数据,计算用户对该应用程序中每一个Activity组件内各个控件的操作概率;其中,对于同一Activity组件中的控件,统计控件位置百分比、控件类型百分比、控件面积百分比三个部分,并按照比例对所述三个部分进行整合;
S3:计算该应用程序中每一个Android组件的访问概率,所述Android组件包含该应用程序中各个Activity组件、Service组件和Broadcast组件;Activity组件访问概率的计算方式借鉴PageRank算法,组件以及组件间的调用关系构成网络模型,其中,各个组件为该网络模型中的节点,各个组件之间的调用关系为该网络模型中的边,在该网络模型中进行迭代计算;迭代过程从该应用程序的初始Activity组件开始,对任一Activity组件A,它的访问概率的计算结果为以下两部分之和:1)组件A继承所有调用组件A的其它组件的访问概率所得到的访问概率,2)若某组件B可以通过返回操作切换至组件A,则组件A继承组件B的访问概率所得到的访问概率;Service组件的访问概率分为本地和远程两种启动情况,其中,本地启动情况下的Service组件的访问概率为启动该Service组件的其它组件的访问概率之和,远程启动情况下的Service组件的访问概率由远程启动的Service组件的总的启动概率计算得出;Broadcast组件的访问概率分为内部和系统两种启动情况,其中,内部启动情况下的Broadcast组件的访问概率为该应用程序内部发出广播的组件的访问概率,系统启动情况下的Broadcast组件的访问概率由系统事件广播的可能性和系统事件发生的概率共同确定;
S4:计算该应用程序运行时API调用量,分别根据各组件的访问概率和各控件的操作概率对该应用程序中各个Activity组件、Service组件和Broadcast组件中的API调用进行计算,将所有计算结果汇总后得到该应用程序的运行时API调用量预估结果。
2.根据权利要求1所述的应用程序运行时API调用量预估方法,其特征在于,所述步骤S4中,Activity组件中API调用量由Activity组件的访问概率和控件的操作概率共同确定,通过将所述访问概率和操作概率相乘来表示某一Activity组件内某一控件的事件处理函数内的某一个API的调用量。
3.根据权利要求1所述的应用程序运行时API调用量预估方法,其特征在于,所述步骤S4中,考虑到Service组件和Broadcast组件内没有控件,所以只与Service组件和Broadcast组件的访问概率有关,并定义该访问概率为组件内部API的调用量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711011556.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种动静态特征结合的僵尸程序检测与分类方法
- 下一篇:一种计算机病毒处理方法