几个基本概念辨析:流敏感,路径敏感和上下文敏感
来源:互联网 发布:今创集团 常州知 编辑:程序博客网 时间:2024/05/05 10:34
(从这篇日志开始,恢复博客园的同步更新)
这篇日志没有什么技术含量,只是总结几个基本概念。在软件分析中,我们经常会遇到流敏感(flow-sensitive),路径敏感(path-sensitive)和上下文敏感(context-sensitive),这几个概念都主要出现在Data Flow Analysis中(或data flow的变型,如Taint Analysis等)。
简单来说,流敏感(flow-sensitive)指的是考虑程序语句执行的顺序,例如在数据流分析中的指针别名(Pointer Alias)分析中,一个非流敏感指针别名分析可能得出“变量x和y可能会指向同一位置”,而流敏感指针别名分析得出的结论类似于“在执行第20条指令后,变量x和y可能会指向同一位置” 。所以,一个非流敏感指针别名分析不考虑控制流,并认为所发现的别名在程序所有位置均成立。
路径敏感(path-sensitive)指的是依据条件分支语句的不同谓词,计算不同的分析信息,也就是说,路径敏感将跟踪程序控制流的每一个分支,以记录两个分支路径的不同程序状态。相应的,非路径敏感并不考虑分支之间的区别。简单的路径敏感存在“路径爆炸”(path explosion)或“无穷搜索空间”(infinite search space)的问题。
上下文敏感(context-sensitive)指的是在过程间分析( Interprocedural Analysis)时,考虑函数调用的上下文信息。
以上内容主要参考了Data Flow Analysis的维基百科页面和部分论文及书籍。
0 0
- 几个基本概念辨析:流敏感,路径敏感和上下文敏感
- 流敏感,路径敏感和上下文敏感
- 上下文敏感帮助
- 星敏感器、太阳敏感器和地球敏感器定姿
- 百度和谷歌谁更敏感
- 网页路径大小写敏感问题
- FlowDroid: 精确的上下文,流,字段, 对象敏感和生存周期感知的污染分析
- 敏感词,敏感词,敏感词
- 敏感信号
- 敏感词库
- 敏感Helln
- 敏感词
- 敏感字
- Windows系统和Linux系统常见敏感信息路径
- 关于google adsense 几个敏感问题
- 为 RCP 向导页添加上下文敏感的帮助支持
- 为 RCP 向导页添加上下文敏感的帮助支持
- 所谓敏感(数字的敏感)
- Eclipse调试经验
- Win 7+Word 2007第一遍打开报错“向程序发送命令时出现错误”的解决方法
- 第一篇日志
- Win 7+Word 2007仿宋和楷体不能正常显示的解决方法
- 在Win7上使用LaTex
- 几个基本概念辨析:流敏感,路径敏感和上下文敏感
- 随机测试框架Randoop的简单使用
- [小技巧]使用Windows 7自带的索引服务搜索PDF全文
- Linux下手动释放内存
- java发送邮件代码,jar包
- spin_count
- (Dijkstra+bellon_ford+floyd) Silver Cow Party (P3268)
- android 下载 系统文件
- iOS常用的第三方类库