バグ

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

バグ(bug)とは、本来は「よからぬ事態を引き起こすもの」「常軌を逸脱したもの」をいう。「ボギー」「ブギー」などとも呼ばれる。「ダニ」「南京虫」「虱」もいい、「盗聴器」もバグという。
近年では「コンピューター・システムの不具合をひき起こすもの」の原因もいうが、これはCOBOL言語の開発者であるグレイス・ホッパーに由来する。「強盗退治の大楠虎」の異名を持つダイクストラ大先生は、「『バグ』とかいって安易に片づけて思考停止するな! 間違い(error)と呼べ!!!」と表明している。

概要[編集]

要するに、「システムの不具合の原因」である。システムが期待している動作とは異なる挙動から外れて好ましくない挙動をした場合に、その原因を大雑把に「バグ」と称する。
かつてはハードウェアが原因だったことが多かったが、近年ではハードウェアが安定動作するのと「他のマシンで動作を確認する」ということが可能であるため、ソフトウェアに原因が帰されることが多い。「そもそも仕様が矛盾している」「設計がおかしい。フィージビリティ・チェックはどうなっているんだ?」といった話になると上のほうの責任が問われてしまうので、「プログラミングのミス」で片付けられることが多い。
名前の由来は、コンピューターの回路[1]に挟まっていた虫[2]である。バグを解消させることを、虫を取り除く意味のデバッグという。
「製品のリリース後にもバグが残ることがあるが、一定以上の複雑さをもつプログラムからはテストが十分に行われていてもバグを完全に除去することはかなり難しい、と考えられている。しかしながら、バグをゼロに近づけることも必要であり、その技術や品質管理手法もソフトウェア開発のノウハウとして研究・蓄積されている。」などといった戯けた言い訳をする輩もいるが、「バグ」というのはもっと玄妙なものであり、「追い払う」ことができるエクソシストは数少ない。プロジェクトリーダーからアルゴリズム開発まで全部こなせるような本物でないと不能である。具体的には、学会系のシステムで「髙橋」さんから「私は『髙橋』ではない」という指摘があったときに、間に入っているサーバーのデータベースRDBMS)の文字コードがJISだったので、「これこれの事情により、データベース・システムの保守をします」というメッセージと「××様、お名前は『○○』に変更してもよろしいでしょうか?」(そんなものは名簿のデータと漢字コード表の比較で済むから半日仕事でしかない)といったメールを一斉送信したら、途中のネットサーバーのメーラーがUNICODEに対応していなくて文字化けしたというトラブルが起きたのいう話がかつて(つーても二十一世紀だが)あったが、丁寧なお返事を(お手紙で)いただいてこっちが恐縮したという話を業界の先輩から窺ったことがある。
不具合が深刻である場合、または大量に発生している状態のことを、俗に「バグっている」という。バグが大量にあるプログラムまたはその状態を、俗に「バギー」(buggy=虫だらけの)という。

機械の場合(コンピューター[編集]

コンピューターに搭載されている「チップ」が古いものであると、しばしば起こる。最悪の場合にはディスクが壊れたりもするし、昔は熱暴走とかいった原因もあった。

その他[編集]

「常軌を逸した」という意味では、不整地走行用車輛である「バギー・カー」があり、アニメキャラクターとしては「バグズ・バニー」がいる。「三月ウサギ」はバギーである。

脚注[編集]

  1. リレー式計算機という最初期のコンピューターで、リレー(継電器)による回路で構成された電子計算機だった。
  2. 世界初のコンピューターのバグは本当に「蛾」が挟まったのが原因 - GIGAZINE”. 2020年11月19日確認。

関連項目[編集]