存在种种不足，然而前者可能帮助降低漏洞的数量，而后者则在一些时候可以明确确定程序不受某类漏洞的威胁。不正确的优化是谁都不希望的，所以在程序优化里，有两类策略来处理无法判定的分析情况：然而，还有第三种策略有时可以用于一些规范不够完整的语言（比如C语言）。一个做优化的编译器在遇到未定义行为时，可以自主选择如何生成这部分代码。生成的代码可以在运行时做任何事情，甚至可以崩溃。
控制流.控制流分析的目的是获取在程序执行时一些特定位置可能调用的函数的信息。这些信息由控制流图（英语：c