На жаль, більшість задач програмування потребують створення автоматів з кількістю станів, що вимірюється мільярдами. Це зумовлює практичну неможливість створення застосувань, для яких була би абсолютно гаратнована коректна дія в усіх можливих станах. Завдяки використанню методик надійного програмування та інтенсивному тестуванню вірогідність виникнення помилкових ситуацій може бути значним чином знижена, але все одно залишається теоретично можливою ситуація, коли завдяки незвичайному збігу обставин система перейде у непередбачений розробниками стан, коректний вихід з якого не може бути здійснений ані автоматично ані діями користувача.