Шрёдинбаг

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Шрёдинбаг (англ. Schroedinbug) — термин, используемый в программировании для описания программной ошибки, которая никак не проявляет себя, однако внезапно возникает, если кто-то наткнётся на неё в исходном коде или попытается использовать программу в необычных условиях и осозна́ет, что система вообще не могла работать при наличии такой ошибки. После этого программа перестаёт работать вообще до тех пор, пока ошибка не будет исправлена. Хотя это звучит невероятно, некоторые программы содержат в себе такие ошибки[источник не указан 1964 дня]. Это слово, в отличие от слова «баг», в русском языке практически не используется.

Содержание

Происхождение названия

Слово «шрёдинбаг» происходит от мысленного эксперимента с котом Шрёдингера.

Возможные причины возникновения

Шрёдинбаг может быть образован сложной комбинацией парных ошибок (когда ошибка в одном месте компенсируется ошибкой противоположного действия в другом месте). В результате система может стать очень чувствительной к малым влияниям — небольшое изменение может разрушить баланс ошибок и парализовать работу системы (зачастую при этом откат рокового изменения не решает проблему, так как состояние системы успело значительно измениться).

Упоминание в художественных произведениях

В фильме «Кот Шрёдингера» шрёдинбаг обнаруживается в программе Американской оборонной системы и приводит к катастрофической ошибке безопасности.

Примером шрёдинбага из классического фольклора можно считать историю о старике и бороде (хотя само название «шрёдинбаг» в ней, разумеется, не упомянуто).

Некоторого старика с длинной бородой спросили, куда он кладет бороду, когда спит — под одеяло или на одеяло. Он понял, что не знает, потому что никогда не задумывался над этим, а когда лег спать, попытался выяснить это опытным путем. Попробовал положить под одеяло — очень неудобно, на одеяло — тоже очень неудобно. Поскольку оба варианта не подходили, старик больше не мог заснуть, и через некоторое время скончался от недостатка сна.

В игре Morrowind есть книга под названием «Смертельный удар Абернанита», в которой воин перед смертью просит своего врага — демона, который виртуозно защищался щитом — исполнить его последнюю просьбу:

«Враг мой, темный лорд Дагот Трас, прежде чем убить меня,
Умоляю, расскажи, как ты делаешь это.»
Возгордился Дагот Трас, услышав просьбу Рангидила,
И решил, что прежде чем убить защитника Храма,
Он научит его тому, что полезно и в послежизни,
И чуть только он начал свое объясненье,
Понял он, что сам не знает, как это ему удается,
И смотрел, в изумленьи, как Рангидил наносит удар, который в легендах
Морровинда
Был назван «Гибелью Абернанита».

См. также


en:Unusual software bug#Schroedinbug

fr:Schrödinbug ja:特異なバグ

Личные инструменты

Served in 0.134 secs.