[发明专利]一种递归最大执行频度与深度的静态估计方法有效
申请号: | 201410589530.4 | 申请日: | 2014-10-28 |
公开(公告)号: | CN104317773A | 公开(公告)日: | 2015-01-28 |
发明(设计)人: | 汤恩义;刘璐;方园;李宣东;冯世宁;张庆垒 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/10 | 分类号: | G06F17/10 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 210093 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种递归最大执行频度与最大执行深度的静态估计方法,该方法通过静态扫描程序源代码以定位递归作用域并收集递归中函数调用与返回的执行条件,然后引入可满足性模求解器来求解这些收集到的符号条件约束,并最终直接获得估计结果。由于避免了反复执行程序,相比于传统的动态估计方法,本发明的方法具有更为高效、准确等优点。所分析的结果可以帮助程序设计、开发、维护人员用于性能优化、能耗估计、实时性分析等计算机应用技术领域。 | ||
搜索关键词: | 一种 递归 最大 执行 频度 深度 静态 估计 方法 | ||
【主权项】:
一种递归最大执行频度与深度的静态估计方法,其特征在于通过静态程序分析的方法来收集程序的递归路径条件,并使用可满足性模理论来求解该递归路径条件,从而能高效准确的估计程序中递归作用域的最大执行深度,以及作用域中各递归函数的最大执行频度,具体步骤为:1‑1)、使用基于调用图的回路查找技术来检测程序中的递归作用域,所检测到的递归作用域为一个函数集合,集合中的各个函数相互调用,而构成递归,在检测过程中,使用强连通组件扩展技术来扩展调用图的回路,从而保证了所得到的函数集合包含当前递归作用域中的每一个函数;1‑2)、分别分析步骤1‑1)所得到的各个递归作用域,收集作用域中各个递归函数调用和递归函数返回的分支条件与路径条件,并将相同递归函数的调用条件和返回条件合并,作为符号条件约束储存,以供步骤1‑3)进行综合求解;1‑3)、将各递归作用域放回原始程序中进行综合分析与求解,即在原始程序中求得各个递归作用域的初始入口条件,并依据此入口条件与步骤1‑2)给出的符号条件约束综合构建不同执行深度与执行频度的实际递归执行约束,最终使用可满足性模求解器对这些实际的递归执行约束求解。通过结合不同的递归深度与频度尝试策略,求解器能估计出递归实际可达的最大执行频度和深度。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410589530.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种可调限位间距的传送链组及传送装置
- 下一篇:从动辊筒安装结构