代码审核可以被认为是静态分析吗?

时间:2015-11-05 20:18:39

标签: code-analysis static-analysis static-code-analysis code-auditing

当人们谈论静态分析时,他们通常会谈论质量指标和编程惯例。似乎代码审计是分开的,因为它发现的是错误和安全漏洞。从理论上讲,两者都是静态分析(代码审核是在不执行程序的情况下进行的,不是吗?使用Findbugs,Coverity等工具。)

那么,代码审核也是静态分析吗?

1 个答案:

答案 0 :(得分:1)

Code audits主要由人类完成(工具提供一些帮助),就像任何其他类型的audits一样(例如financial audits)。 Code review通常在开发团队内部完成,但代码审核通常由外部人员完成。

静态source code analysis由软件code analysis tools完成,并且在实践中使用它们非常复杂(因此实际上分析软件工具需要其用户的帮助或专业知识和/或将提供{{3 }})。

false positives是源代码分析的一个基本限制:没有工具可以静态检测每个无限循环程序(只有它们)。

对于C或C ++代码的分析,您可以考虑使用halting problem自定义GCC编译器。或者使用MELT,可能通过在源代码中添加Frama-C注释(带有足够的注释,以及在某些有限类C程序上,主要用于嵌入式应用程序,该工具可能会能够证明你的代码表现得很好。)

但有ACSL。编程很难(即使使用工具)。