Програмна грешка

от Уикипедия, свободната енциклопедия
(пренасочване от Софтуерен дефект)

Програмната грешка или софтуерен дефект, още разговорно като бъг представлява проблем, свързан с работата на определена програма.

Видове програмни грешки[редактиране | редактиране на кода]

Има няколко вида програмни грешки – грешки при компилацията, грешки при изпълнението и бъгове. Всички те са предизвикани по вина на създателите на съответната програма, но понякога са следствие от факта, че някоя друга програма не работи както трябва.

Грешка при компилацията[редактиране | редактиране на кода]

Грешка при компилацията (compile error) представлява проблем, който възниква по време на превеждането на програмата от вид разбираем за човека във вид разбираем за компютъра. Такава грешка се дължи на неспазването на правилата на съответния език за програмиране.

Грешка при изпълнението[редактиране | редактиране на кода]

Грешка при изпълнението (английски – runtime error) представлява проблем, който е предизвикан от това, че програма се опитва да направи нещо забранено. Грешките при изпълнението водят до незабавното прекратяване на изпълнението на програмата.

Съществуват три вида грешки при изпълнение:

  • достъп до забранена памет (segmentation fault)
  • невъзможност на процесора да изпълни определена операция – например опит за деление на 0 (division by zero)
  • недостиг на място в определено пространство от паметта (buffer overflow)

Бъг[редактиране | редактиране на кода]

Първият компютърен „бъг“, запазен в компютърен дневник

Бъг (на английски: bug - буболечка) в компютърния жаргон се разбира грешка по време на изпълнението на програмата. По същество бъгът представлява неочаквано поведение на програмата в определена ситуация. Повечето производители на софтуер се грижат за оправянето на подобни грешки. Понякога те предлагат специализирани системи, в които потребителите могат да съобщят за наличието на даден бъг. Процесът на отстраняване на грешките се нарича дебъгване.

Историята на термина се свързва с името на Грейс Хопър, американска програмистка, пионер в информатиката и контраадмирал. По време на работата с компютъра Mark II в Харвардския университет през 1947 г., нейни сътрудници открили молец в едно от релетата, който пречел на правилната му работа. Грейс Хопър нарекла операцията по отстраняване "debugging" (обезбуболечаване). Макар че авторството на термина бъг не е изцяло на Хопър, тя го прави популярен.[1] Останките на онзи молец могат да се видят в компютърния дневник на групата, който се пази в Смитсоновия институт, в Националния музей по американска история във Вашингтон [2]

Вижте също[редактиране | редактиране на кода]

Източници[редактиране | редактиране на кода]

  1. Taylor, Alexander L., III. The Wizard Inside the Machine // TIME. 16 април 1984. Архивиран от оригинала на 2013-08-15. Посетен на 17 февруари 2007. (на английски)
  2. Log Book With Computer Bug // National Museum of American History. Посетен на 27 март 2008. (на английски)