багБаг — жаргонное слово, употребляемое програмистами, обозначающее ошибку, просчет в программе. Дословно переводится с английского как «жук, мелкое насекомое».

История

Откуда этот «термин» произошел, достоверно не известно. Существуют две наиболее популярные версии. Первая отсылает нас к Томасу Эдисону, который заметил помехи в фонографе, и посчитал что они появились из-за заползшего туда таракана. Развинтив коробку устройства, изобретатель не нашел никакого таракана и понял, что баг находится в самом устройстве. Вторая версия утверждает что в 1945 году, гарвардские ученые тестировали электронную вычислительную машину Mark II Aiken Relay Calculator. Устройство работало некорректно, и когда его вскрыли, между контактами реле был найден мотылек. Насекомое было признано виновным в поломке, а в техническую книгу была внесена запись: «First actual case of bug being found». С тех пор, слово баг и приобрело значение «компьютерной ошибки.»

Классификация ошибок

Программисты делят баги на несколько категорий в зависимости от их характеристик.

Относительно своих размеров, баги делятся на три вида:

  • Незначительные ошибки.
  • Серьёзные ошибки.
  • Showstoppers.

В зависимости от фазы разработки ПО, во время которой обнаруживаются баги,их делят на:

  • синтаксические. Это те ошибки, которые делают компиляцию программы невозможной. Например, неправильно поставленная открывающая и закрывающая скобка;
    предостережения компилятора. Они происходят когда программист использует неизвестную программе переменную. В таком случае, компилятор замечает необычное действие пользователя и ставит его в известность. Тем не менее программист сам решает, пренебрегать оповещением программы или нет;
  • семантические. Они же смысловые, они же ошибки временного исполнения. Это баги сегментации или неправильного математического действия, когда, например, вместо умножения пользователь производит сложение переменных.

Относительно частоты своего появления баги делятся на:

  • постоянные;
  • эпизодичные;
  • те, которые появляются только на машине клиента.

По месту возникновения и их направлению, различают такие баги тестирования, обработки данных, ошибки интерфейса пользователя и баги, возникающие при повышении нагрузки. Существуют также ошибки граничных условий и поломки идентификаторов

Баги также делятся на разновидности

А именно:

  • Борбаг — легкообнаруживаемая, стабильная ошибка.
  • Гейзенбаг. Такую ошибку обнаружить довольно затруднительно. Она периодически исчезает, или меняет свойства.
  • Мандельбаг — ошибка с энтропийным, непредсказуемым поведением.
  • Шрединбаг — опасная критическая ошибка. Никак себя не показывает, до тех пор, пока программист на неё случайно не встретит её в исходном коде. Обычно, после обнаружения такого бага, программа перестает функционировать.

Самым известным багом современности считается, так называемая «Ошибка 2000 года», или Y2K Error. Экономные программисты XX века не закладывали в память первые две цифры даты, которые отвечали за значение текущего тысячелетия. Менялись только только последние две, отвечающие за десятилетия. Таким образом, при наступлении миллениума, дата на всех компьютерах должна была обновиться с 1999 на 1900. Такой баг сулил множество неприятностей и критических ошибок большинству программ, так как получалось, что время пошло назад. К счастью, программисты вовремя обнаружили опасность и устранили её.

Обратный звонок
×
Оформить заявку
×
Отправить сообщение
×