Баг

Баг

В программировании баг (англ. bug — первичные значения: клоп, любое насекомое, вирус) — жаргонное слово, обычно обозначающее ошибку в программе или системе, которая выдает неожиданный или неправильный результат. Большинство багов возникают из-за ошибок, допущенных разработчиками программы в её исходном коде, либо в её дизайне. Также некоторые баги возникают из-за некорректной работы компилятора, вырабатывающего некорректный код. Программу, которая содержит большое число багов и/или баги, серьёзно ограничивающие её работоспособность, называют нестабильной или, на жаргонном языке, «глючной», «глюкнутой», «забагованной», «бажной», «баг(а)нутой» (англ. unstable, buggy).

Термин «баг» обычно употребляется в отношении ошибок, проявляющих себя на стадии работы программы, в отличие, например, от ошибок проектирования или синтаксических ошибок. Отчет, содержащий информацию о баге также называют отчетом об ошибке или отчетом о проблеме (англ. bug report). Отчет о критической проблеме (англ. crash), вызывающей аварийное завершение программы, называют крэш-репортом (англ. crash report).

«Баги» локализуются и устраняются в процессе тестирования и отладки программы.

Багом также называют определённый вид маркера на индикаторах.

Содержание

Этимология

Запись в тех.журнале

Широко распространена легенда, что 9 сентября 1945 года учёные Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле, и Грейс Хоппер произнесла этот термин. Извлечённое насекомое было вклеено скотчем в технический дневник, с сопроводительной надписью: «First actual case of bug being found» (рус. «первый реальный случай, когда был найден жук»). Считается, что этот забавный факт положил начало использованию слова «debugging» в значении «отладка программы», однако, скорее всего, фраза является каламбуром.

В действительности этот случай произошёл 9 сентября 1947, а не 1945, года. Слово «bug» в современном значении употреблялось задолго до этого персоналом телеграфных и телефонных компаний в отношении неполадок с электрооборудованием и радиотехникой. Во время Второй мировой войны словом «bugs» назывались проблемы с радарной электроникой. В 1878 году Томас Эдисон писал:

Это повторялось снова и снова со всеми моими изобретениями. Первым шагом была интуиция, за ней следовала вспышка, затем возникали препятствия — и они исчезали, потом возникали Баги — так называются маленькие недочеты и трудности — и необходимы месяцы постоянного поиска, исследований и тяжелого труда до успеха или неудачи.[1]

Поиск и исправление ошибок

Для отладки программы (англ. debugging) разработчиками ПО используются специальные программы-отладчики (англ. debugger). Например, в операционной системе Windows можно использовать программу WinDbg из пакета Microsoft Debugging Tools for Windows. Для GNU/Linux и ряда других UNIX-подобных операционных систем существует отладчик GDB (GNU Debugger).

Отчёты об ошибках

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

Например, в операционную систему Windows встроена утилита Dr. Watson, которая по умолчанию отлавливает ошибки в приложениях пользователя и отправляет отчёт на специальный Сервер компании Microsoft. Также в качестве примера можно привести аналогичные библиотеки Breakpad[2] и CrashRpt[3].

См. также

Логотип Викисловаря
В Викисловаре есть статья «баг»
  • Отчет об ошибке
  • Система отслеживания ошибок
  • Фича
  • Борбаг — легко обнаруживаемый стабильный баг
  • Гейзенбаг — сложно обнаруживаемый, периодически исчезающий и меняющий свойства баг при попытке его обнаружения
  • Мандельбаг — баг с очень сложным, хаотичным, поведением
  • Шрёдинбаг — критическая ошибка, которая не проявляется пока кто-нибудь на неё не наткнется в исходном коде, после чего программа совершенно перестает работать
  • Бозебаг — большое скопление ошибок в определенном участке кода
  • Дзенбаг — не влияющая ни на что ошибка
  • Метабаг — грамматическая ошибка в комментарии
  • Фомбаг — (англ. Phase of the Moon bug) периодический баг, проявляющийся от времени выполнения (например: только по утрам, только 13-го числа)
  • Альфабаг — (англ. Alpha particle bug)(жарг. Полтергейц) баг который произошел единожды, и анализ кода говорит о том, что его не могло произойти без отказа аппаратных средств (например под влиянием альфа частиц, или электромагнитного излучения)
  • Фермабаг — сложно доказуемый баг, возникающий, как правило, только на машинах заказчика
  • Фермибаг — количественная характеристика бажности исходного кода, применяется когда плотность достигает одной-двух ошибок на строку кода
  • GIGO
  • Предлимитный синдром
  • Катастрофа Ariane 5 (4 июня 1996) — один из самых дорогостоящих компьютерных багов в истории.

Примечания

  1. Источник: Edison to Puskas, 13 ноября 1878, Edison papers, Edison National Laboratory, U.S. National Park Service, West Orange, N.J., цитируется по книге Томаса П. Хьюджеса (Thomas P. Hughes), American Genesis: A History of the American Genius for Invention, Penguin Books, 1989, стр.
  2. Breakpad. Google. Архивировано из первоисточника 3 февраля 2012. Проверено 11 августа 2009.
  3. CrashRpt. Архивировано из первоисточника 3 февраля 2012.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР
Синонимы:

Полезное


Смотреть что такое "Баг" в других словарях:

  • баг — БАГ, а, м.. 1. Ошибка, неточность в компьютерной программе (обычно в неправильно работающей, но не препятствующей компиляции), а также любая ошибка, неточность. Выловить (обнаружить, устранить) баг в программе. 2. Клоп, таракан. От англ. bug… …   Словарь русского арго

  • Баг — от англ. bug клоп, жук ошибка, неточность, погрешность, которую необходимо устранить. Термин Б. используется в информатике, в делопроизводстве. Словарь бизнес терминов. Академик.ру. 2001 …   Словарь бизнес-терминов

  • БАГ — в фольклоре Великобритании косматые чудовища. Для человека они совершенно безвредны. Единственное, что они способны делать корчить рожи. (Источник: «Словарь духов и богов германо скандинавской, египетской, греческой, ирландской, японской… …   Энциклопедия мифологии

  • баг — сущ., кол во синонимов: 5 • ляп (17) • недоработка (29) • недочет (40) • …   Словарь синонимов

  • багіст — іменник чоловічого роду, істота …   Орфографічний словник української мови

  • баг. — баг. багаж; багажный …   Словарь сокращений и аббревиатур

  • БАГ — Белорусская ассоциация гимнастики с 1993 http://www.bga.by/​ Беларусь, организация, спорт Источник: http://www.bga.by/rus/about/official/ …   Словарь сокращений и аббревиатур

  • багіст — а, ч. 1) Спортсмен, що займається багі (у 2 знач.). 2) Той, хто займається конструюванням, будівництвом багі (у 1 знач.) …   Український тлумачний словник

  • Баг — местное название в Эриванской губернии сада (Б. значит также связка, узел, сноп). Отсюда производные: багча фруктовый сад (заимствованное отсюда русское слово бахча место, где сеют арбузы, дыни, тыквы и огурцы). Баг баши плата за сад. В… …   Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона

  • БАГ — Белорусская ассоциация гимнастики (БАГ) …   Универсальный дополнительный практический толковый словарь И. Мостицкого


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»