A well-established approach to reasoning about loops during program analysis is to capture the effect of a loop by extracting recurrences from the loop; these express relationships between the values of variables, or program properties such as cost, on successive loop iterations. Recurrence solvers are capable of computing closed forms for some recurrences, thus deriving precise relationships capturing the complete loop execution. However, many recurrences extracted from loops cannot be solved, due to their having multiple recursive cases or multiple arguments. In the literature, several techniques for approximating the solution of unsolvable recurrences have been proposed. The approach presented in this paper is to define transformations based on regular path expressions and loop counters that (i) transform multi-path loops to single-path loops, giving rise to recurrences with a single recursive case, and (ii) transform multi-argument recurrences to single-argument recurrences, thus enabling the use of recurrence solvers on the transformed recurrences. Using this approach, precise solutions can sometimes be obtained that are not obtained by approximation methods.


翻译:程序分析中循环推理的既定方法是通过从循环中提取重现来捕捉循环效应;变量或程序属性(如成本等)的值之间的这些明确关系在连续循环迭代中出现。 重复求解器能够计算某些重现的封闭形式, 从而得出精确的循环执行关系。 然而, 从循环中提取的许多重现无法解决, 因为它们有多个循环案例或多个参数。 在文献中, 提出了几种接近无法解析的重现解决办法的技术。 本文介绍的方法是定义基于常规路径表达式和循环反作用器的转换( i) 将多路环转换为单路环, 从而产生单一循环复现案例的复现, 以及 (ii) 将多弧复现转换为单弧复发, 从而使得复发者在变现复发中能够使用复现解器。 使用这种方法, 有时可以取得精确的解决方案, 而这种解决办法不是通过近法获得的。

0
下载
关闭预览

相关内容

【图与几何深度学习】Graph and geometric deep learning,49页ppt
因果图,Causal Graphs,52页ppt
专知会员服务
246+阅读 · 2020年4月19日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
论文浅尝 | 基于神经网络的知识推理
开放知识图谱
14+阅读 · 2018年3月12日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Arxiv
0+阅读 · 2021年11月1日
Arxiv
3+阅读 · 2021年11月1日
Arxiv
64+阅读 · 2021年6月18日
VIP会员
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
论文浅尝 | 基于神经网络的知识推理
开放知识图谱
14+阅读 · 2018年3月12日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Top
微信扫码咨询专知VIP会员