Zaawansowane metody optymalizacji mogą przyczynić się do generowania trudnych do wykrycia błędów, jeśli kod wejściowy nie jest napisany zgodnie ze standardem. Wykrycie źródła nieprawidłowości może być trudne i zależne od wielu czynników, np.
Część błędów można wyeliminować, korzystając z rozbudowanej diagnostyki, jaką oferują kompilatory. Zakładając, że opisane w standardzie sytuacje nie mogą mieć miejsca, kompilator może rozszerzyć obszar optymalizacji i wygenerować bardziej wydajny kod wynikowy.
Jeśli programista popełni błąd i dopuści do pojawienia się operacji niezdefiniowanej, to kompilator ma pełną dowolność, w jaki sposób taki kod zostanie przetworzony. Sposób obsługi niepoprawnego kodu wejściowego może zależeć od wielu czynników: wersji kompilatora, stopnia optymalizacji czy architektury procesora.
Istnieje szansa, że w pewnych warunkach skompilowany program będzie zachowywał się zgodnie z intencją programisty, podczas gdy na innej platformie będą obserwowane nieskorelowane błędy. Na szczęście można ograniczyć ryzyko zaimplementowania niedozwolonej operacji poprzez dodanie odpowiednich opcji diagnostycznych na etapie budowania i testowania kodu...