在看论文时总是碰到flow-sensitive 和context-sensitive这样的名词。通过查论文,我终于明白了他们的含义。
用不太严谨的语言解释一下是这样的:
1、流敏感/流不敏感是针对是否考虑过程内的控制流情况的,过程内的控制流图会有分支、循环等情况,流敏感是指考虑过程内(被调用过程或函数内)的控制流情况;反之,流不敏感是指不考虑过程内的控制流情况,只考虑过程间的情况。
2、上下文敏感/上下文不敏感是针对是否考虑函数的不同调用点,因为一个子过程或函数可能会被多个过程调用,那么在不同的过程调用它的时候,对于传给它的实际参数或当时的全局变量有可能会不同,这些被称之为上下文,上下文敏感是考虑了这些不同,上下文不敏感则将一个子过程或函数用唯一的一种情况来分析。
显然,考虑流敏感和上下文敏感的算法是比较精确的,而流不敏感或上下文不敏感的算法则是相对不精确的算法。
不知道解释清楚了没有,呵呵!
https://blog.sciencenet.cn/blog-544280-453364.html
上一篇:
逆向工具总结下一篇:
今天收到了一封让我先兴奋后郁闷的一封邮件