作者:走丢的鞋带2702934823 | 来源:互联网 | 2023-05-27 04:05
我已经开始使用静态分析了.在阅读了几篇论文之后,有一件事我不清楚.什么是声音和不健全的静态分析的正确定义?
问题在于我在不同的地方发现了相互矛盾的定义:"......声音分析模拟了一个程序的所有行为." http://blog.errstr.com/2013/01/17/on-static-analysis/
"不健全的工具/正式工具:这些工具报告所有检查的缺陷并且不会产生假阴性."
http://techvolve.blogspot.de/2014/03/static-analysis-overview.html
1> Pascal Cuoq..:
http://techvolve.blogspot.de/2014/03/static-analysis-overview.html中的定义相反.它应该是:
不健全的工具:这些工具牺牲了最大限度地发现错误,以最大限度地减少误报到合理的水平.因此,这些工具故意不精确和不可判断 - 这意味着可能出现误报和漏报.
声音工具/正式工具:这些工具报告所有检查的缺陷并且不会产生假阴性.这些相对较慢.但是,会产生大量的误报.
即使您省略混淆,该页面也不是特别好.在第一段中,"不可判定"一词仍然以非传统意义使用.(问题是可判定的或不可判定的.工具既不是一个也不是另一个.)
你最好从书目搜索中省略这篇文章.
@xTrmwY您可能在文章中遇到的另一个问题是检测到的内容的不同约定.在静态分析中,我们检测到错误,这些错误赋予它们"误报","假阴性"和"声音"的含义.显然,在计算机科学的其他子领域,他们检测到正确的程序,因此"声音"和"完整"的含义对他们来说是相反的.