期刊文献+

高效而精确的锁别名分析方法

Efficient and Accurate Lock Alias Analysis Method
下载PDF
导出
摘要 锁别名分析能够得到锁指针变量的指向信息,有效的锁别名分析可以更好地辅助数据竞争分析和死锁分析.现有锁别名分析往往采用保守的方式处理,进而影响分析结果的准确性.针对这一问题,提出了一种锁别名分析方法,该方法首先使用GCC插件获取SSA形式的中间代码,然后对中间代码进行预处理以获得与锁、函数指针操作相关的语句,最后对预处理后的程序使用本文提出的FP_LOCK算法进行准确的流敏感、上下文敏感分析.实验结果表明该方法能精确地确定锁别名,并且经过预处理后的FP_LOCK算法对分析大程序平均有9.95倍的加速比. Lock alias analysis can obtain the precise lock pointer information. Efficient lock alias analysis can make a good contribution to data races analysis and deadlock analysis. However, existing lock alias analyses often use a conservative approach, which impacts the accuracy of analysis. This paper proposes a lock alias analysis method. This method firstly gains SSA-form intermediate code by a GCC plugin. Then it preprocesses the intermediate code to obtain the statements related to function pointer and lock operation. Based on this we present the flow-sensitive and context-sensitive function pointer and lock analysis algorithm(referred as FP_LOCK algorithm). Experimental results show that this method has well precision and advances 9.95 times on average compared with the original algorithm.
出处 《计算机系统应用》 2016年第2期212-218,共7页 Computer Systems & Applications
基金 安徽省自然科学基金(1408085MKL06) 高等学校学科创新引智计划(B07033)
关键词 锁别名分析 SSA 中间代码 FP_LOCK 流敏感 上下文敏感 lock alias analysis SSA intermediate code FP_LOCK flow-sensitive context-sensitive
  • 相关文献

参考文献13

  • 1Stefan S, Michael B, Greg N. Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. on Compute Systems, 1997, 15(4): 391-411. 被引量:1
  • 2Dawson EK. A RaceX: Effective, static detection of race conditions and deadlocks. Proc. of the 9th ACM Symposium on Operating Systems. 2003,237-252. 被引量:1
  • 3Wang Y, Kelly T, Kudlur M. Gadara: Dynamic deadlock avoidance for multithreaded programs. Proc. of the 8thUSENIX Conference on Operating Systems Design and Implementation. 2008,281-294. 被引量:1
  • 4Cho HK, Wang Y, Liao HW. Practical Lock/Unlock Pairing for Concurrent Programs. IEEE International Symposium on Code Generation and Optimization, 2013:1-12. 被引量:1
  • 5Andersen LO. Program Analysis and Specialization for the C Programming Language[Thesis]. Copenhagen, Denmark: University of Copenhagen, 1994. 被引量:1
  • 6Nagaraj V, Govindarajan R. Parallel flow-sensitive pointer analysis by graph-rewriting. Proc. of the 22th Intemational Conference on Parallel Architectures and Compilation Techniques. 2013,19-28. 被引量:1
  • 7董玉坤,金大海,宫云战,邢颖.基于区域内存模型的C程序静态分析[J].软件学报,2014,25(2):357-372. 被引量:9
  • 8章迪..基于指针别名分析的高效锁集分析工具[D].上海交通大学,2012:
  • 9Cytron R. Efficiently Computing static single assignment form and the control dependence graph. ACM Trans. on Programming Languages and Systems, 1991, 13(4): 451-490. 被引量:1
  • 10hubicka. GCC Wiki. https://gcc.gnu.org/wiki. [2015-03-10]. 被引量:1

二级参考文献3

共引文献8

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部