[发明专利]一种基于嵌入表示的移动应用回调分析研究方法在审
| 申请号: | 201911230621.8 | 申请日: | 2019-12-05 |
| 公开(公告)号: | CN111026659A | 公开(公告)日: | 2020-04-17 |
| 发明(设计)人: | 过辰楷;许静;黄登蓉;张建雯;朱静雯 | 申请(专利权)人: | 南开大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 天津耀达律师事务所 12223 | 代理人: | 张耀 |
| 地址: | 300350 天津*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 嵌入 表示 移动 应用 分析研究 方法 | ||
1.一种基于嵌入表示的移动应用回调分析研究方法,其特征在于含有以下步骤:
步骤1、移动应用的源码数据集收集和预处理;
步骤2、基于源码数据集,定义回调函数序列提取方法;
步骤3、根据提取的回调函数序列,定义中间抽象以及词嵌入向量方法;
步骤4、基于向量表示进行多粒度回调函数的相似性分析;
步骤5、基于向量表示进行回调向量距离及逻辑类比分析;
步骤6、基于向量表示进行回调函数与普通API节点的差异性分析;
步骤2所述的基于源码数据集,定义回调函数序列提取方法,具体是指对所获取的移动应用源码进行回调函数实体的自动化识别和提取,首先将步骤1的代码用抽象语法树转化为AST节点,即一种基于代码语法结构的抽象表示方法;然后通过构建回调函数序列图CBS-Graph来模拟特定的移动应用中回调函数的运行,由辅助的虚拟节点和直接相连的边的集合组成回调函数序列图CBS-Graph,对于有生命周期的回调函数,用消除策略来处理未执行生命周期的回调函数,即用一个组件的完全生命周期图来初始化CBS-Graph,然后去除每个隐藏的辅助的虚拟节点,并为每个辅助的虚拟节点的前驱后继对生成直接相连的边;对没有生命周期的回调函数,先设置两个辅助的虚拟节点,即开始节点和结束节点来标记活动区域,然后将所有没有生命周期的回调函数放入这个活动区域并在每对间生成两个直接相连的边,再从开始节点到所有没有生命周期的回调函数,与从没有生命周期的回调函到结束节点生成直接相连的边;对于跳转,将组件的开始和结束状态分别用两个辅助的虚拟节点,即组件的开始节点和组件的结束节点表示,然后对每个跳转,从源组件中的组件的结束节点到目标组件中的每个组件的开始节点生成一个直接相连的边;为了获取回调函数序列样本,采用随机游走算法,即向沿着回调函数的路径添加了合理的权重,用由上一个和下一个状态的辅助的虚拟节点之间的最短距离计算出的权重与标准化常亮的比值表示当前路径,以获得足够多的回调函数而不陷入局部循环,从而实现回调函数元素在控制流序列上的提取工作,保存了上下文语义和序列关系;
步骤3所述的根据提取的回调函数序列,定义中间抽象以及词嵌入向量方法,具体是指对所提取的回调函数以及相关代码元素进行中间形式的抽象表征,设计抽象规则,为了使得该中间抽象能够有效支持后续词向量表示的学习训练,该代码中间抽象能够全面表达回调语句的主体和对应的逻辑关系;
所述的词嵌入向量方法,具体是指将得到的中间抽象形式进行上下文语义和序列相关的数值化向量表示,首先将步骤2中提取出的所有移动应用数据集的回调函数序列通过步骤3处理后的中间抽象词作为语料库,将每一个method的回调函数序列的中间抽象作为一个sentence;然后将一个目标序列节点ci,如一个回调函数节点,通过一个非线性激活函数sigmoid函数表示为两个部分的融合,第一部分是回调函数向量,第二部分是回调函数的各个内部向量的和,如回调函数的各个内部向量的和为vi,j,vi,j的计算方法是将回调函数向量和代码向量进行点乘,具体计算公式如下:
vi,j=σ(Wv,∈(cbi))⊙∈(coi,j))
其中:cbi表示回调函数向量的集合,coi,j表示回调函数内部代码向量的集合,ci表示回调函数向量,vi,j表示回调函数内部AST节点,C代表回调函数虚拟节点的集合,|C|表示回调函数虚拟节点的数量,Wc与Wv是相关权重集合;
然后,将回调函数向量ci和回调函数内部AST节点vi,j带入词向量嵌入模型——Skip-Gram模型,模型的损失函数表示为Skip-Gram模型的回调函数序列级别的损失和回调函数内部级别的损失这两部分的和;再将回调函数向量ci与内部AST节点vi,j喂入skip-gram模型进行训练,其中损失函数是回调函数序列层级和回调函数内部层级两部分的skip-gram的损失和;最后由公式得出回调函数序列节点和内部节点的预测概率,词向量的数值关系可以反映上下文语义关系以及函数实体的出现序列关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南开大学,未经南开大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911230621.8/1.html,转载请声明来源钻瓜专利网。





