程序分析技术包括静态程序分析和动态分析技术。静态分析,如控制流分析、数据流分析、别名分析(英语:alias analysis)、程式切片(英语:Program slicing)等。动态分析(软件工程)包括插装(英语:Instrumentation (computer programming))等。