バグ
読み:バグ
外語:bug
虫。
ソフトウェア
や
ハードウェア
の間違い部分。
仕様書
に記載されていない処理や動作全般のこと。
目次
概要
語源
余談
仕様かバグか
バグの例
ソフトウェアのバグ
ハードウェアのバグ
概要
語源
Harvard Mark IIという電気機械式
電子計算機
(
真空管
コンピューターではない)の
リレー
に本当に虫が入り込んで動作不良を起こしたことが由来である。
かくして、不具合のことをバグと呼ぶようになり、それを取り除くことを
デバッグ
(虫取り)と呼ぶようになった。
虫が貼り付けられた報告書は現存し、バージニア州のNaval Surface Weapons Centerのコンピューター博物館に保管されている。
余談
日本で「むし」と言えば「いもむし」のようなものが連想されるが、アメリカでは「てんとう虫」のような甲虫が連想されると言われている。
ただし、先のHarvard Mark IIに挟まっていた虫は蛾であった。
仕様かバグか
ある不都合と思われる事象に対して、それをバグと判断するか
仕様
と判断するかは開発者や利用者の意向により左右される。一般的には、容易に回避できる事象に関しては仕様扱いにされることが多いようである。
致命的なバグなのにも係わらずそれを修正しない会社もあるが、そのような会社は概ね信用が失墜する。
バグの例
ソフトウェアのバグ
0除算
ぬるぽ(NullPointerException)
無限ループ
オーバーフロー
リーク
メモリーリーク
ハンドルリーク
スタックオーバーフロー
スタックアンダーフロー
バッファーオーバーフロー
デッドロック
メモリー破壊
ハードウェアのバグ
競合
80286
リアルモード
で
HMA
領域が見えてしまう(バグだが、
Microsoft
の要望のため仕様とされた)
Pentiumのバグ
小数演算の精度が極端に落ちる
ロックされたCMPXCHG8Bインストラクションでの不正なオペランド
再検索