バグ(エンジニアリング)

コード内の構文エラーにより失敗するBASICプログラム

工学において、バグとは、ソフトウェアコンピュータハードウェア電子機器回路、機械などの工学システムにおける設計上の欠陥であり、望ましくない結果を引き起こすものです。自然災害によるサーバークラッシュなど、設計の範囲外の欠陥はバグではありません。また、気象などの自然システムではバグは発生しません。

バグは非技術的な用語です。より正式な用語としては、欠陥のほかに、エラー、欠陥、障害などがあります。バグは持続的、散発的、断続的、または一時的な場合があります。コンピューターの世界では、クラッシュフリーズグリッチなどがバグの一種です。

望ましさは主観的なので、ある人にとって望ましくないものが別の人にとっては望ましい場合があります。そのため、バグの報告に対して「それはバグではなく、機能です」という滑稽な返答が時々なされます。

歴史

中英語のbuggeという単語は、怪物を指す用語であるbugbearbugabooの語源となった。 [ 1 ]

欠陥を表す「バグ」という言葉は、少なくとも1870年代、電子計算機やコンピュータソフトウェアが登場するずっと前から、工学用語として使われてきました。例えば、トーマス・エジソンは1878年に同僚に宛てた手紙の中で、次のような言葉を残しています。

私の発明はすべてそうでした。最初のステップは直感で、それが一気に湧き上がります。そして困難が訪れます。この装置は故障し、そして「バグ」と呼ばれる小さな欠陥や問題が姿を現します。そして商業的に成功するか失敗するかが確実に決まるまでには、何ヶ月にもわたる集中的な観察、研究、そして労力が必要です。[ 2 ]

1924年の電話業界誌に掲載された漫画の中で、世間知らずの登場人物が、ある男が「バグハンター」という職業について聞いて、背中のかき棒をプレゼントする場面があります。男は「『バグハンター』って修理工あだ名だって知らないの?」と答えます。 [ 3 ]

最初の機械式ピンボールゲームであるバッフルボールは、1931年に「バグがない」と宣伝されました。[ 4 ]

第二次世界大戦中の軍用装備の問題はバグやグリッチと呼ばれていました。[ 5 ]

1940 年の映画「フライトコマンド」では、方向探知装置の欠陥は「バグ」と呼ばれています。

1942年に出版された本の中で、ルイーズ・ディキンソン・リッチは電動氷切り機についてこう述べている。「氷の切断は、氷の製作者が来て、その愛機から虫を取り除くまで中断された。」[ 6 ]

アイザック・アシモフは、 1944年に出版された短編小説「 Catch That Rabbit 」の中で、ロボットの問題に関連して「バグ」という用語を使用しました。

ハーバード・マークII電気機械式コンピュータのログのページ。装置から取り除かれた死んだ蛾が描かれている。

コンピュータの先駆者である米海軍のグレース・ホッパー少将は、初期の電気機械式コンピュータに問題を引き起こしたについての逸話を世に広めました。 [ 7 ]ホッパーがハーバード大学の教授としてMark IIMark IIIに取り組んでいた 1947 年頃、操作員たちは Mark II のエラーの原因を、リレーに挟まった蛾に求めました。蛾は機構から取り除かれ、「実際にバグが発見された最初の事例」というメモとともにログブックに記録されました。 [ 8 ] 伝えられるところによると、後にバージニア州ダルグレンの海軍兵器研究所に所属するウィリアム・「ビル」・バークを含む操作員たちは[ 9 ]この工学用語に精通しており、おそらく「バグ」の 2 つの意味 (生物学的な意味と技術的な意味)混ぜて語呂合わせをしたのでしょう。たとえ冗談だとしても、この話は当時この用語がコンピュータ分野で一般的に使用されていたことを示しています。[ 10 ] [ 11 ] [ 12 ] [ 13 ]蛾まで付いたこの航海日誌は、スミソニアン国立アメリカ歴史博物館 のコレクションの一部である。[ 12 ]

関連用語である「デバッグ」もコンピューターで使われる前から使われていたようです。オックスフォード英語辞典この単語の語源には、1945年に航空機エンジンの文脈で使われていたことが証明されています。[ 14 ]

「それはバグではなく、機能です」

バグは望ましくない動作を意味するため、バグを指摘するのは主観的です。ある人がバグだと思うものを、別の人は便利な機能だと思うかもしれません。そのため、「それはバグではなく、機能だ」(INABIAF)というよく知られたフレーズが生まれます。[ 15 ]このジョークは『The Jargon File』(1975年)に記録されていますが、少なくとも1971年に遡ります。当時、デジタル・イクイップメント・コーポレーション(DEC)のPDP-8プログラマー、サンドラ・リー・ハリスは、 DECのFOCALインタプリタのコードで修正すべき問題と、ユーザーマニュアルで文書化または明確にすべき問題を区別していました。[ 16 ]

このような動作は、ユーザーに明示的に伝えられる場合もあれば、文書化されないままになる場合もあります。

参考文献

  1. ^ Computerworldスタッフ(2011年9月3日)「機械の中の蛾:『バグ』の起源を解明する」 . Computerworld . 2015年8月25日時点のオリジナルよりアーカイブ。
  2. ^エジソンからプスカシュへの手紙、1878年11月13日、エジソン文書、エジソン国立研究所、米国国立公園局、ニュージャージー州ウェストオレンジ、 ヒューズ、トーマス・パーク(1989年)『アメリカの創世記:発明と技術的情熱の世紀、1870-1970』ペンギンブックス、75頁に引用。ISBN 978-0-14-009741-2
  3. ^ Cy Meyn, Hattie the Hello Girl, The Mountain States Monitor Vol. XIX, No. 1 (1924年1月)、Mountain States Telephone and Telegraph Co.; 34ページ下。
  4. ^ 「バッフルボール」。インターネットピンボールデータベース。(参考エントリの広告画像を参照)
  5. ^ 「現代の航空母艦は20年間の賢明な実験の成果である」ライフ』誌、1942年6月29日、p. 25。2013年6月4日時点のオリジナルよりアーカイブ。 2011年11月17日閲覧
  6. ^ Dickinson Rich, Louise (1942), We Took to the Woods , JB Lippincott Co, p. 93, LCCN 42024308 , OCLC 405243 , 2017年3月16日時点のオリジナルよりアーカイブ。  
  7. ^ FCAT NRTテスト、ハーコート、2008年3月18日
  8. ^ 「コンピューターバグのあるログブック」 americanhistory.si.edu 2024年8月16日閲覧
  9. ^ IEEEコンピューティング史年報、第22巻第1号、2000年
  10. ^ James S. Huggins. 「First Computer Bug」 . Jamesshuggins.com. 2000年8月16日時点のオリジナルよりアーカイブ。 2012年9月24日閲覧
  11. ^ Bug Archived March 23, 2017, at the Wayback Machine」、 The Jargon File、バージョン4.4.7。2010年6月3日閲覧。
  12. ^ a bLog Book With Computer Bug Archived March 23, 2017, at the Wayback Machine」、国立アメリカ歴史博物館、スミソニアン協会。
  13. ^最初の「コンピュータバグ」」海軍歴史センター。ただし、ハーバードマークIIコンピュータは1947年の夏まで完成しなかったことに注意してください。
  14. ^ Journal of the Royal Aeronautical Society . 49, 183/2, 1945 「それは、型式試験、飛行試験、そして「デバッグ」の段階を経て...」
  15. ^ニコラス・カー「これはバグではなく、機能です。」陳腐な表現か、それともちょうど良い表現か?Wired
  16. ^ FOCALプログラミングマニュアル(PDP-8、PDP-8/S、PDP-8/I、LAB-8、LINC-8用)(PDF)。Digital Equipment Corporation。1968年。DEC-08-AJAB-D。