基于路径符号执行的数据相关性分析

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:tanhuanghehuanggua
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文的工作主要是进行数据相关性测试的研究,作者首先回顾了数据相关性研究的传统方法,以及并行编程与数据相关性的关系。进而提出了基于路径分析和符号执行的静态测试和动态测试方法,来研究串行程序中循环内部数组变量的数据相关性,该方法对于下标表达式为线性表达式时有很好的效果,而且能够处理一些复杂的数组下标表达式,比如数组下标表达式含有输入变量和非线性下标表达式的情况。 数据相关性的静态测试中,我们首先生成程序的流程图,在遍历流程图的同时生成这个程序的扩展有限状态机(EFSM),然后调用路径分析工具对EFSM的路径进行分析。我们采用了遍历程序路径和对路径进行符号执行的策略,这样可以尽可能早的发现程序中的不可执行路径,从而提高分析的效率。数据相关性的静态测试可以精确处理数组下标表达式为线性表达式的情况,而且还可以精确求解数组下标中含有输入变量的情况。静态测试在限定的范围内是精确测试。 同时,我们还提出了判断数据相关性的动态测试。动态测试就是在解释执行程序的同时,记录串行程序对数组元素的访问,如果发现数据相关就终止测试。动态测试是基于我们假设如果循环中存在数据相关,那么在循环的有限几次迭代中就会出现数据相关。动态测试能够处理数组下标表达式较为复杂的情况,也可以处理非线性表达式。
其他文献
命题逻辑可满足性(SAT)问题和有限论域一阶逻辑模型搜索(FOLMS)问题是计算机理论科学中的经典问题,不仅在理论上有着重要的地位,而且在许多实际问题中得到了广泛的应用。多年来
在计算机技术日新月异的时代,在分布式系统广泛应用的今天,在人们已经逐步依赖于Internet的时候,各国都在加紧分布式计算机协同工作在工业领域的应用。汽车工业是工业中主导产业
随着近年来无线电设备的广泛使用,无线频谱资源的利用被越来越多的人关注。传统的频谱资源使用方法为,由固定的组织或机构来对频谱资源进行统一的分配,各个授权用户享有自己