首页> 外文会议>ACM SIGPLAN conference on Programming language design and implementation >Pointer analysis for programs with structures and casting
【24h】

Pointer analysis for programs with structures and casting

机译:具有结构和铸造的程序的指针分析

获取原文

摘要

Type casting allows a program to access an object as if it had a type different from its declared type. This complicates the design of a pointer-analysis algorithm that treats structure fields as separate objects; therefore, some previous pointer-analysis algorithms "collapse" a structure into a single variable. The disadvantage of this approach is that it can lead to very imprecise points-to information. Other algorithms treat each field as a separate object based on its offset and size. While this approach leads to more precise results, the results are not portable because the memory layout of structures is implementation dependent.This paper first describes the complications introduced by type casting, then presents a tunable pointer-analysis framework for handling structures in the presence of casting. Different instances of this framework produce algorithms with different levels of precision, portability, and efficiency. Experimental results from running our implementations of four instancesof this framework show that (i) it is important to distinguish fields of structures in pointer analysis, but (ii) making conservative approximations when casting is involved usually does not cost much in terms of time, space, or the precision of the results.
机译:类型转换允许程序访问对象,就好像它的类型不同于其声明的类型一样。这使将结构域视为独立对象的指针分析算法的设计变得复杂。因此,某些先前的指针分析算法会将结构“折叠”为单个变量。这种方法的缺点是它可能导致指向信息的不精确。其他算法根据每个字段的偏移量和大小将其视为一个单独的对象。虽然这种方法可导致更精确的结果,但结果并非可移植,因为结构的内存布局取决于实现。本文首先描述了类型转换带来的复杂性,然后提出了一种可调整的指针分析框架,用于在存在结构的情况下处理结构。铸件。此框架的不同实例产生的算法具有不同级别的精度,可移植性和效率。运行该框架四个实例的实现所获得的实验结果表明:(i)区分指针分析中的结构域很重要,但(ii)涉及转换时进行保守近似通常不会花费很多时间,空间,或结果的精度。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号