Analiza programów – badanie programów komputerowych gotowych do uruchomienia lub w postaci kodów źródłowych. Analiza w trakcie działania programu nazywa się , natomiast badanie bez uruchamiania programu nazywa się analizą statyczną. Najważniejszymi zastosowaniami analizy programów jest znajdowanie i usuwanie przyczyn ich błędnego działania (debugowanie), poprawianie jakości programów (optymalizacja) oraz poznawanie szczegółów zasad działania programu (reverse engineering).

Ważniejsze narzędzia Debuggery gdb

gvd SoftICE OllyDbg edb

Electric fence

Deasemblery IDA ndisasm w32Dasm

Emulatory sprzętu Bochs QEMU

Narzędzia badające interakcję programu z systemem operacyjnym fenris ltrace strace

Narzędzia monitorujące aktywność systemu plików oraz zmiany w rejestrze Windows

Narzędzia zapisujące ruch sieciowy tcpdump tcpflow

Statyczne narzędzia analizy kodów źródłowych CMT++ Lint

Statyczne narzędzia analizy programów elfsh objdump

Inne techniki LD PRELOAD

Zobacz też metryka oprogramowania