Durch statische Code Anaylse kann man diesen Fehler ggf. aufspüren und vermeiden.
Im Allgemeinen leider nicht (Halteproblem)
Theoretisch kann man mit Timeouts viel machen, praktisch geht das schwer mit der Ressourcenverwaltung. Wenn du fehleranfällige Programmteile in eigenen Prozessen ausführst, kannst du viel an Kontrolle gewinnen.