11、在线子路径分析与精确异常语义在动态编译中的应用

在线子路径分析与精确异常语义在动态编译中的应用

在线子路径分析

在线子路径分析(Online Subpath Profiling)是一种基于自适应采样技术的高效分析方法。通过对Java程序的测试,其原型实现展示了一定的有效性。

分析结果与问题

在实际分析中,结果存在较多噪声,最热门的子路径采样次数不超过3次。尽管如此,这些结果仍可接受,最热门的子路径与路径长度限制为2n时得到的结果相对应。不过,由于采样次数较低,结果大概率不够准确。因此,运行任意路径长度的OSP算法需要更大的采样概率和更多的内存开销,以确保路径采样频率足够高,使分析结果有意义。

相关工作
  • Ball - Larus路径分析算法 :最初记录过程内无环路径的执行频率,程序在执行时为每个路径生成唯一标识符。
  • Ammons、Ball和Larus的扩展 :将硬件指标与路径关联,并引入运行时数据结构来近似过程间路径,但实践中这些关联不够精确,且无法跨循环迭代连接路径。
  • Melski和Reps的方法 :该技术中的路径不跨越循环,过程间路径静态分配唯一标识符。
  • Larus的全程序路径方法 :捕获程序动态行为的完整画面,全程序路径跨越循环和过程边界,为过程间路径分析提供了实用基础。但由于其数据量可能很大,需要进行压缩,通过将其表示为语法实现。该方法需要数据收集和分析两个阶段,因此不能被JIT编译器在程序执行期间用于定位热门子路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值