[发明专利]一种汇编级静态路径剖析方法及装置有效
申请号: | 201310313989.7 | 申请日: | 2013-07-24 |
公开(公告)号: | CN103399741A | 公开(公告)日: | 2013-11-20 |
发明(设计)人: | 朱浩;彭楚;应欢;王东辉;洪缨 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 汇编 静态 路径 剖析 方法 装置 | ||
技术领域
本发明涉及性能分析技术,尤其涉及一种汇编级静态路径剖析方法及装置。
背景技术
路径剖析(Programs Profiling)在性能分析领域占据十分重要的地位,它用于分析、统计应用程序中全部执行路径以及各路径的执行次数。这些性能数据被广泛的应用在编译优化等多项研究工作中。
现有技术进行路径剖析的方法较为统一,基本都是结合控制流图(Control Flow Graph,CFG)分析向应用程序中插入桩代码,最后通过回收、计算桩代码统计的性能信息来得出各条路径及执行次数。现有方案中,如处理无回边(backedge)路径时,Ball等人提出的过程内单变量剖析方法(Efficient Path Profiling,EPP);处理环路路径时,Tallam提出的近似剖析方法以及Roy等人在此基础上提出的改进方法都取得了很好的效果。然而,当应用程序结构相对复杂、循环体较多时,这些方法仍有不足。归其原因,不难发现它们均是从高层语言的行为级着手处理,并受限于语义分析前端以及目标处理器的指令功能,无法进一步扩展应用范围。
除此之外,现有剖析技术主要是基于动态分析实现,而进行动态分析时过分的依赖输入激励,这就导致剖析得出的路径信息并不能全面反映程序的执行路径信息。
发明内容
本发明的目的是提供一种汇编级静态路径剖析方法,它不依赖于输入 激励,并通过动态组合、谓词分析等有效地完成了对静态路径的剖析。
为实现上述目的,一方面,本发明提供了一种汇编级静态路径剖析方法,该方法包括以下步骤:
挖掘出汇编程序中全部的基础闭环路径,基础闭环路径是一个首、尾节点相同的环路,并且不允许出现其它环路;
挖掘出汇编程序中全部的基础路径,基础路径是指从入口基本块到出口基本块的最简路径,在基础路径中不允许出现环路,而且不允许出现重复节点;
组合基础闭环路径以及基础路径完成路径统计;
对组合后的路径进行谓词条件判断。
另一方面,本发明提供了一种汇编级静态路径剖析装置,该装置包括:
第一计算单元,用于挖掘出汇编程序中全部的基础闭环路径;
第二计算单元,用于挖掘出汇编程序中全部的基础路径;
统计单元,用于组合基础闭环路径以及基础路径完成路径统计;
判断单元,用于对组合后的路径进行谓词条件判断。
本发明提供的一种汇编级静态路径剖析方法及装置实现简单,不依赖于输入数据激励,从汇编级着手,基于动态组合挖掘全部可能存在的静态路径。
附图说明
图1为本发明实施例提供的一种汇编级静态路径剖析方法流程图;
图2(a)为一段汇编代码示例;
图2(b)为图2(a)相应的基本控制流图;
图3为本发明实施例提供的一种汇编级控制流图;
图4为本发明实施例提供的一种汇编级静态路径剖析装置结构框图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
在描述本发明实施例提供的一种汇编级静态路径剖析方法之前,需针对汇编级控制流图作一下简单介绍:
假设存在一条途经节点i与j的控制路径,其中节点j是除节点i以外全部其它节点的后必经节点,那么就称节点i控制依赖(control dependence)于节点j。控制依赖图(Control Dependence Graph,CDG)是一个面向中间语言的有向无环图(Directed Acyclic Graph,DAG),其中,边集合描述了基本块间的控制依赖关系;节点集合中的根节点、中间节点是由谓词操作划分出的基本块,叶节点则一般是谓词不敏感的基本块。编译器前端生成应用程序的控制流图(control flow graph,CFG),而后端则根据分支和循环片段衍生出控制依赖子图(control dependence sub graph,CDSG)。然而,中间语言历经代码调度、代码块合并、指令映射等多遍操作后,谓词相关操作被分布到多条指令甚至多个基本块内,这增添了汇编级进行谓词分析的难度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310313989.7/2.html,转载请声明来源钻瓜专利网。