Techniki programowania defensywnego:
- Usuwanie z kodu skomplikowanych konstrukcji programistycznych
- Regularne przeglądy kodu
- Testowanie oprogramowania
- Ponowne wykorzystanie istniejącego kodu
- Usuwanie problemów z kodem spadkowym
- Zabezpieczenie operacji wejścia/wyjścia
- Niska tolerancja dla "potencjalnych" błędów
- Projektowanie oparte o umowę
- Assercje i wyjątki
