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