Отворите главни мени

Софтверска грешка

(преусмерено са Баг (информатика))
Први рачунарски „баг“ (грешка у програму или рачунару).

Рачунарски „баг“ је популарни назив за грешку у рачунарском програму или, рјеђе, самом рачунару. Термин долази од енглеске ријечи bug (буба, инсект) и почео се шире користити од настанка дигиталних рачунара 1940-их година.

Багови настају при процесу писања рачунарских програма, у којем се дешавају различите грешке узроковане људима који их пишу. Пошто рачунари имају ограничене (или никакве) могућности провјере људског кода, долази до испољавања грешака при самом раду програма.

При контроли процеса или машина, багови могу бити скупи, а понекад и смртоносни.

Познатији случајеви ралунарских багова укључују пропаст сателита Маринер I (1961.), рендген машине које су изазвале смрт људи због превелике дозе зрачења (1980-е), експлозија ракете Аријане 5 (1996.) и друге. Познати фиктивни баг је овјековјечен у филму Одисеја у свемиру 2001, гдје рачунар ХАЛ 9000, почиње да убија чланове посаде свемирског брода Откриће.

Чести баговиУреди

Аритметички баговиУреди

  • Дељење са нулом
  • Губитак прецизности због заокруживања

Логички баговиУреди

  • Бесконачна петља
  • Бесконачна рекурзија

Синтаксички баговиУреди

  • Коришћење погрешног оператора, на пример оператора доделе вредности уместо оператора поређења једнакости

Ресурсни баговиУреди

  • Дереференцирање NULL показивача
  • Коришћење неиницијализоване променљиве
  • Приступ недозвољеном подручју меморије (segmentation fault)
  • Предубока рекурзија, која иако логички валидна има за последицу препуњавање стека

ЛитератураУреди

Спољашње везеУреди