期刊文献+

Seeker:流敏感的需求驱动指向分析

Seeker: Flow-sensitive Demand-driven Points-to Analysis
下载PDF
导出
摘要 需求驱动指向分析技术一般用于受到严格时间或内存限制的环境。提高需求驱动指向分析的流敏感度,可使一些变量得到准确的指向关系,但实践中存在具有较强流与数据依赖的大型软件系统,较难识别出对目标变量的指向关系产生贡献的程序语句。为此,提出一种流敏感的程序表示方法,通过定义一种上下文无关语言可达性的概念,搜索目标变量的流敏感指向关系。开发一种Seeker工具,能够为用户感兴趣的变量计算指向集合。实验结果表明,需求驱动的指向分析算法提高了流敏感上下文非敏感指向分析的效率。 Many demand-driven points-to analysis techniques are proposed to suit some environments bounded by strict limits of time and memory usage.Improving the demand-driven points-to analysis in a flow sensitive manner helps achieve precise points-to relations for some variables.Due to the existence of strong flow and data dependencies in the large-scale software systems,it is difficult in identifying effectively all the program statements contributing to the points-to relations of the objective variables.This paper proposes a flow-sensitive program representation approach and defines a notion of Context Free Language(CFL)reachability which helps explore all the flow-sensitive points-to relations for the objective variables.It also develops a Seeker tool,which can compute the points-to sets of the variables of interest. Experimental results show that the demand-driven points-to analysis algorithm improves the efficiency of the Flow Sensitive Context Insensitive(FSCI)points-to analysis.
出处 《计算机工程》 CAS CSCD 北大核心 2016年第11期70-75,共6页 Computer Engineering
基金 国家自然科学基金(61572312)
关键词 指向分析 需求驱动 流敏感 上下文无关语言 静态分析 points-to analysis demand-driven flow-sensitive Context Free Language (CFL) static analysis
  • 相关文献

参考文献3

二级参考文献63

  • 1Hastings R, Joyce B. Fast detection of memory leaks and access errors. In Proe. the Winter USENIX Conference, San Francisco, USA, Winter, 1992, pp.125-136.
  • 2Bush W R, Pincus J D, Sielaff D J. A static analyzer for finding dynamic programming errors. Software -- Practice and Experience, 2000, 30(7): 775-802.
  • 3Xie Y, Aiken A. Saturn: A scalable framework for error detection using Boolean satisfiability. ACM Trans. Program. Lang. Syst., 2007, 29(3): 16.
  • 4Evans D. Static detection of dynamic memory errors. In Proc. SIGPLAN Conference on Programming Language Design and Implementation (PLDI'96), Philadelphia, USA, May 21-24, 1996, pp.44-53.
  • 5Engler D R, Chen D Y, Chou A. Bugs as inconsistent behavior: A general approach to inferring errors in systems code. In Proc. Symposium on Operating Systems Principles, Chateau Lake Louise, Canada, Oct. 21-24, 2001, pp.57-72.
  • 6Hallem S, Chelf B, Xie Y, Engler D. A system and language for building system-specific, static analyses. In Proc. the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI'02), New York, NY, USA, ACM Press, 2002, pp.69 82.
  • 7Orlovich M, Rugina R. Memory leak analysis by contradiction. In Proc. SAS, Seoul, Korea, August 29-31, 2006, pp.405-424.
  • 8Emami M, Ghiya R, Hendren L J. Context-sensitive interprocedural points-to analysis in the presence of function pointers. In Proe. SIGPLAN Conference on Programming Language Design and Implementation, Orlando, USA, June 20-24, 1994, pp.242-256.
  • 9Hind M, Burke M, Carini P, Choi J D. Interprocedural pointer alias analysis. ACM Transactions on Programming Languages and Systems, 1999, 21(4): 848-894.
  • 10Rugina R, Rinard M. Pointer analysis for multithreaded programs. In Proe. the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation (PLDI'99), New York, NY, USA, ACM Press, 1999, pp.77-90.

共引文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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