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