W praktyce problem ten jest często zaniedbywany.
Wybór metod programistycznych thumb|Schemat automatu skończonego, jednej z metod budowania weryfikowalnego kodu Na skutek zmęczenia lub pośpiechu, nawet najlepiej wyszkoleni i doświadczeni programiści mogą popełniać rudymentarne, oczywiste dla innych błędy. Świadczy o tym choćby odnalezienie wielu podatności w tworzonych przez ekspertów programach OpenSSL czy OpenSSH. Pewne sposoby tworzenia aplikacji, przez swoją złożoność lub brak wsparcia dla dodatkowej kontroli kodu, naturalnie sprzyjają pomyłkom tego typu.
Aby zapobiegać temu zjawisku, stworzono języki, które w odróżnieniu np. od C++ lub Javy wymagają od programistów przestrzegania ścisłego rygoru pracy, zmierzającego do wyeliminowania ryzykownych struktur programistycznych. Przykładem takiego języka jest Ada. Postuluje się także liczne bezpieczne metody programistyczne oraz stosowanie niewielkich, przejrzystych i łatwych do weryfikacji bloków funkcjonalnych pracujących jako możliwie niezależne automaty skończone.
Metody te wymagają dodatkowego przeszkolenia programistów i podnoszą koszty oraz czasochłonność wdrożeń, przez co ich zastosowanie komercyjne jest znikome.