目录:
定义-源代码分析是什么意思?
源代码分析是对程序源代码的自动测试,目的是在出售或分发应用程序之前查找故障并修复故障。
源代码分析与静态代码分析同义,在静态代码分析中,仅将源代码作为代码进行分析,而程序未运行。 这消除了创建和使用测试用例的需要,并且可以使其自身脱离特定于功能的错误,例如按钮的颜色不同于规范中所说的颜色。 它着重于在程序中查找可能损害其正常功能的故障,例如导致崩溃的代码行。
Techopedia解释了源代码分析
源代码分析基本上是自动代码调试。 目的是发现对于程序员而言可能不明显的错误和错误。 它旨在发现错误,例如可能的缓冲区溢出或不正确使用指针以及滥用垃圾回收功能,所有这些都可能被黑客利用。
代码分析器使用规则告诉他们要查找的内容。 精度太低,分析仪可能会散发出太多误报,并向用户灌输无用的警告,而精度太高则可能需要很长时间才能完成。 因此,必须保持平衡。
分析器有两种:
- 过程间-检测从一个功能到下一个功能的模式,并将这些模式关联起来,以便分析器可以创建模型并模拟执行路径。
- 程序内-专注于模式匹配,并取决于用户正在寻找哪种类型的模式。
过程间分析仪更现代,更复杂。 很好的例子是Coverity,Fortify和Microsoft自己的集中化工具PREfix。