【24h】

Pointer analysis for multithreaded programs

机译:多线程程序的指针分析

获取原文

摘要

This paper presents a novel interprocedural, flow-sensitive, and context-sensitive pointer analysis algorithm for multithreaded programs that may concurrently update shared pointers. For each pointer and each program point, the algorithm computes a conservative approximation of the memory locations to which that pointer may point. The algorithm correctly handles a full range of constructs in multithreaded programs, including recursive functions, function pointers, structures, arrays, nested structures and arrays, pointer arithmetic, casts between pointer variables of different types, heap and stack allocated memory, shared global variables, and thread-private global variables.We have implemented the algorithm in the SUIF compiler system and used the implementation to analyze a sizable set of multithreaded programs written in the Cilk multithreaded programming language. Our experimental results show that the analysis has good precision and converges quickly for our set of Cilk programs.
机译:本文针对多线程程序提出了一种新颖的过程间,流敏感和上下文敏感的指针分析算法,该算法可以同时更新共享指针。对于每个指针和每个程序点,算法都会计算该指针可能指向的内存位置的保守近似值。该算法可以正确处理多线程程序中的所有构造,包括递归函数,函数指针,结构,数组,嵌套结构和数组,指针算术,不同类型的指针变量之间的强制转换,堆和堆栈分配的内存,共享的全局变量,我们已经在SUIF编译器系统中实现了该算法,并使用该实现来分析了用Cilk多线程编程语言编写的大量多线程程序集。我们的实验结果表明,对于我们的Cilk程序,该分析具有很好的精度并且可以快速收敛。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号