bug
「bug」とは、小さな虫・ばい菌・バグのことを意味する英語表現である。
「bug」とは・「bug」の意味
「bug」とは英語の名詞形・動詞形である。名詞「bug」として、主にアリやクモなどの「小さな虫」、「ばい菌」「微生物」、ソフトウェアやプログラムなどの「バグ」「不具合」、「熱中すること」「ハマること」といった意味を表す。名詞「bug」の複数形は「bugs」となる。動詞「bug」として、人を「イライラさせる」「困らせる」、「立ち去る」といった意味を持つ。動詞「bug」の活用形は、三人称単数現在形が「bugs」、現在分詞が「bugging」、過去形が「bugged」、過去分詞が「bugged」と変化する。「bug」の発音・読み方
「bug」の発音記号は、「bʌ́g」と表記される。「bug」の読み方は、カタカナで「バグ」と表記される。「バグ」の「バ」の部分にアクセントを付けて発音をする。「bug」の語源・由来
「bug」の詳しい語源は不明とされている。ただし、「かかし」「何か恐ろしいもの」といった意味の中英語の名詞「bugge」が影響を与えたと考えられている。そして19世紀初頭に英語の名詞「bug」が成立した。「bug」と「insect」の違い
英語の名詞「insect」は「bug」と同様に「虫」を意味する。ただし「insect」の指す「虫」は、コオロギやカマキリなどの節足動物の総称である「昆虫」である。対して「bug」の「虫」は、クモやハエなどの「小さな虫」を意味する。他に虫を表現する英語として、ミミズなどの「足のない虫」を意味する「worm」、蝶の幼虫などの「足のあるイモムシ」を意味する「caterpillar」、カブトムシやクワガタなどの「甲虫」を意味する「beetle」が挙げられる。「bugs(複数形)」の使い方
名詞「bug」の複数形「bugs」は、「小さな虫全般」を指す。したがって「小さな虫が嫌い」と英語で表現する場合には、単数の「bug」ではなく複数形「bugs」を使用して、「I don't like bugs.」とする。また「bugs」は同名のスマートフォン用のアプリを意味する。「bug」を含む英熟語・英語表現
「Bug me」とは
「私を困らせる」「私をイライラさせる」といった意味を表す。また「it bugs me」で「気になる」「引っかかる」「気に障る」、「don't bug me」で「邪魔しないで」「放っておいて」といった意味を指す。
「stomach bug」とは
「お腹の痛み」「お腹の風邪」「胃腸炎」といった意味を指す。
「put a bug in one's ear」とは
「誰かにそれとなく伝える」「誰かにほのめかす」といった意味である。
「be bitten by the bug」とは
「夢中になる」「虜になる」「取りつかれる」といった意味を持つ。
「bug」を含む様々な用語の解説
「bug(スラング用語)」とは
「盗聴器」「隠しマイク」といった意味を表す。また動詞「bug」はスラングとして、「盗聴する」「盗聴器を仕掛ける」といった意味を持つ。
「bugs(音楽アプリ)」とは
韓国の「NHN BUGS Corporation」が提供しているスマートフォン用のアプリである。「bugs」をダウンロードしてインストールすることで、音楽をストリーミング再生できる。「bugs」は「MELON」「GENIE」と並んで、韓国を代表する音楽ストリーミングサービスである。韓国ではストリーミング再生数がチャートに反映されるため、お気に入りの韓国アーティストを応援するために日本からも「bugs」がダウンロードされている。
「Love bug」とは
「ケバエ科の一種」を指す。スラングとして、「恋の虫」「恋に夢中」「胸キュン」といった意味をも持つ。また日本の音楽グループ「m-flo(m-flo loves BoA)」が2004年にリリースした楽曲が「the Love Bug」である。
「bug-eyed」とは
英語の形容詞で「目が飛び出た」「目を丸くした」といった意味である。
「bug」の使い方・例文
「bug」の使い方として、以下の例文が挙げられる。・When I entered the room, there were quite a few bugs crawling on the floor.(私が部屋に入ると、かなりの数の小さな虫が床を這い回ってた)
・I can't progress any further due to a bug in the game.(ゲームのバグで、これ以上進めることが出来ない)
・It bugs me to forget today what I heard yesterday.(昨日聞いたことを今日になって忘れているとイライラする)
・This room is bugged by spies.(この部屋はスパイによって盗聴器が仕掛けられている)
バグ【bug】
読み方:ばぐ
《虫の意》コンピューターのプログラム上の不具合や誤り。また一般に、機器類などの欠陥をいう。バグを探して取り除き、修正する作業をデバッグ、そのために用いる専門のソフトウエアをデバッガーという。
ば‐ぐ【馬具】
バグ
バグ
【英】bug
バグとは、プログラムに含まれる誤りのことである。プログラムの誤作動や処理の停止などの原因とある。
システム開発において、バグの箇所を特定し修正する作業がデバッグ(debug)と呼ばれる。デバッグ作業では、デバッガと呼ばれるツールを用いてプログラム上のミスを特定するという作業が繰り返し行われる。
バグの中には、実際にシステムが稼動しないと発見できないような種類のものもあり、システムリリース後にバグが発生することもある。
なお、バグ(bug)の語源にまつわる話として、コンピュータ黎明期に大型計算機の不具合を調査したところが、計算機の論理スイッチに羽虫(bug)が挟まったことが原因だったことに由来する、という説がある。バグは法律文書においては「瑕疵」(かし)と記述され、また程度によっては不具合と表現されることもある。
バグ
【英】: vug
地質学では、一般に岩石あるいは鉱脈内に生じた空洞をいう。 初成的に形成されるものと、二次的に形成されるものがある。石油地質学では、岩石内の小さなえんどう豆大~人頭大の孔隙{こうげき}、空洞といった意味合いでバグという言葉を使用しており、特に炭酸塩岩では豆状の形を持った大き目の孔げきをいうことが多い。 Choquette と Pray(1970)は、1920 年代以降なされたさまざまな研究者によるバグの定義を考察した上で、バグについて新しい定義を提案し、バグは(主に炭酸塩岩の)孔げきを示す言葉で、(1) 豆状~球状あるいはあまり細長くない形状を示し、(2) 肉眼で認められる大きさ(1/16 ~ 4mm:中型バグ〈mesovug〉、4 ~ 256mm:大型バグ〈megavug〉)で、(3) 形状、分布位置に規則性がないものとしているが、現状では広く一般化し、定着しているとはいえない。 |
バグ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/09/20 23:51 UTC 版)
バグ (英: bug) とは、英語で「虫」の意味である。コンピューター業界ではプログラムの誤りや欠陥を表す用語として使われる。
ソフトウェア・ハードウェア開発における契約文書など、法的な文書ではバグのことを「瑕疵」(かし)と記述する。原因や責任の所在などが不明なものを特定性の低い表現の「不具合」と呼ぶことがある。また、セキュリティ面に関わる脆弱性や欠陥は「セキュリティホール」などと呼ばれることもあり、バグはこれらの原因のひとつになりうる。
多くのバグが含まれ、機能的に正常な役割を果たさないものを、バギー・プログラムと呼ぶことがある。
なお、発生したバグを探して修正する作業はデバッグと呼ばれる。
原因と影響
この節は検証可能な参考文献や出典が全く示されていないか、不十分です。(2019年10月) |
この節には独自研究が含まれているおそれがあります。 |
プログラミング上の主なバグには、論理的なバグと誤記によるバグがある。
論理的なバグは、プログラムの設計過程において発生する。無限ループや計算間違いなどを引き起こし、時にはコンピュータを暴走させたり、逆に停止させたりすることもある。
誤記によるバグは、プログラムの実装過程において発生する。存在しないプログラムの参照、意図した範囲を超えた計算結果、数値計算の誤りなどを引き起こす。論理的なバグと同様に、コンピュータを暴走させたり停止させたりすることもある。
他に、オペレーティングシステム(OS)、デバイスドライバあるいは仮想マシンなどの実行環境や、コンパイラあるいはライブラリやアプリケーションフレームワークなどの開発環境にバグが含まれていることにより、アプリケーションソフトウェアにバグが発生することがある。2000年問題のように、ソフトウェアが本来予測された耐用年数を超えて運用された結果、仕様がバグになってしまったものも環境依存のバグといえるだろう。
安易な修正(バグフィクス)は避けられる傾向にある。修正内容にバグを含んでいる場合や、関連するプログラムがバグの存在によって正常に動作していた可能性があるためである。「正常に動作しているものは触らない」、「寝ているバグは起こさない」と言われる。しかし現実は、ハードウェアや言語の仕様では定められていない動作などを利用していて「偶然うまく動いているだけ」という壊れている多くのシステムを放置する言い訳として、このような主張がされることが多く、そういった場合には「何が起きるかわからないから、ハードウェアの同等品へのリプレースも、OSや処理系のバージョンアップも、セキュリティフィックスのパッチ当てさえもできない」という、ますます危険になり続けているシステムが放置される結果となる。
語源
「バグ」は英語からの外来語であるが、この言葉はコンピュータの登場以前から、機械装置の原因不明な不具合をあらわす符牒として技術者の間で使われていた。たとえば1878年にエジソンが同僚に宛てた手紙のなかで、彼は機械の不具合のことを「バグ」と呼んでいる[1]。また、第二次世界大戦中には、レーダーの故障をバグと呼んでいたという記録が残っている。現在の米口語では、バグはコンピュータのバグや虫の意味のほかにも、動詞として「人を悩ませる、いらいらさせる」という意味でよく使われる。
コンピュータのソフトウェアに間違いが入るという概念自体は古く、その起源はチャールズ・バベッジによる解析機関にまでさかのぼる。解析機関のプログラミングを担当したエイダ・ラブレスはすでに1842年に残したメモの中で、計算手順を示したカードの入れ間違いにより誤った計算結果が得られる危険性を示唆していた。
コンピュータに関しては、グレース・ホッパーが、Harvard Mark IIのプロジェクトで働いていた時に、バグとして本物の虫を発見したという話[2]がある。不調になったMark IIを調べたところ、リレーの間に虫(蛾)が挟まっていたのを別の技術者が発見した。彼女はこれを、作業日誌にテープで貼りつけて「本物の虫が『バグ』として発見された最初の例」[3]と書き残した[4][5][6]。この日誌は米海軍歴史博物館に保管されている。ホッパー自身、1984年の『タイム』誌の取材に対し、「その時以来、コンピュータで何か不具合があると、そこにバグがあると言うようになった」と述べている。
他にも、シェイクスピアの『ヘンリー四世』で忌まわしきものという意味で使われていた「バグ」という単語に由来するという説もある。プログラム上の欠陥を虫に見立てて呼ぶようになったという説もあるが、これは誤りとされている。
対策
通常、ソフトウェアが仕様通り正常に動作するかどうかを確認するソフトウェアテスト(プログラムテスト)を実施し、その過程でバグが発見されればソフトウェアを修正した上で再びテストを実施、仕様通りに正常に動作するよう仕上げていくことになる。
しかし、ソフトウェアに『バグが存在すること』を立証するには、何かひとつの手順によって再現させるだけでよいが、「ソフトウェアに『バグが絶対に存在しないこと』を立証する方法」は数学的に存在し得ない[疑問点 ][要説明]ので、ある程度の複雑さを持つプログラムにおいて、バグの数を 0 に近付ける以上のことはできない。仮にソフトウェアテストで存在を証明された既知のバグをすべて除去したとしても、そのソフトウェアに他のバグが一切存在しない、ということにはならない。
エドガー・ダイクストラは以下のような格言を残している。
Program testing can be used very effectively to show the presence of bugs but never to show their absence. (プログラムテストは、バグが存在することを示すには極めて有効だが、バグが存在しないことを示すことはできない)[7]。
実際に、近年[いつ?]のOSなど膨大なプログラミングを必要とするものには、「バグのないソフトウェアは無い」と言われている。
もしすべてのバグを完全除去したソフトウェアを作成しようとした場合、製品の開発・デバッグ・テストからリリースまでに膨大な時間とコストがかかってしまい、開発費用を回収できなくなってしまう。このため、ソフトウェアメーカーの多くは、ある程度のバグが残っていても、致命的な不具合や主要機能への影響がなく、また別の回避策があるなどの想定範囲内のバグであれば、既知の問題点としてユーザーに告知した上でリリースしたりしている。
例えば銀行のオンラインシステム(勘定系システム)などは、社会基盤を支える重要度の高いシステムであるが、年に数度ダウンする程度が目安となる。それ以上の品質を確保するよりも、問題が顕在化した時点で対処した方が、費用対効果の点で有益であると判断されるからである。
出荷後は、開発元が想定・考慮していない操作を行なった際にバグが発見されることが多い。メーカーのプログラマやテスト担当者は専門家としての知識・経験があるため、無意識のうちに危険な操作や負荷のかかる操作を避けてしまうことも多く、逆に想定外の操作により発生するバグの発見はしばしば困難である。このようなバグは専門知識の無い一般利用者が使用することで発見されることも少なくない。
近年[いつ?]では、バグが残っていることを前提にした上で、最新の機能や修正した機能を搭載したソフトウェアをアルファ版やベータ版として一般利用者に試用してもらい、報告されたバグを正式版までに修正するという手法もよくとられる。特にセキュリティ上の脆弱性や致命的なバグの発見者に対して報奨金を支払うベンダーもある[8]。また、ゲーム製品などでは、素人の一般人に試用してもらいバグを発見する専門の仕事もある。
また、最近[いつ?]では本来想定していない動作ではあるが、基本動作に影響がない場合に「仕様」としてしまうこともある。
バグ修正や機能追加によってソフトウェアに新たなバグが混入してしまうことを防ぐには、既存機能が仕様通り正常に動作することを保証するための単体テストを自動化してリグレッションテストの機会を増やすことが挙げられる。この開発手法はテスト駆動開発と呼ばれ、リファクタリングやアジャイルソフトウェア開発の要となっている。
AIの発達に伴い、プログラマーの書くコードをAIに監視させ、バグにつながりそうなコードを書いたら警告を与えてバグの発生を未然に防ぐ手法もある。難点としては大量の学習用データとマシンパワーが必要とされている[9]。
バグ管理
この節は検証可能な参考文献や出典が全く示されていないか、不十分です。(2019年10月) |
この節には独自研究が含まれているおそれがあります。 |
バージョン管理システム
消費者向けアプリケーションソフトウェアの場合、一般的にはバージョン管理システムと呼ばれる数値で行うことが多い。バージョンの数値が大きいほど、バグの修正や機能の追加が行われていることを表す。コンシューマ向けOSなどの場合、メーカーではこれらを定期的に修正した修正プログラムを提供している。既知の問題の修正箇所を、個別に修正の実施と未実施を調べる。近年ではバグ管理システムなどに移行している。
マイクロソフト では毎月第二火曜日(日本ではその翌日で、単なる第二水曜日ではないことに注意)に自社製品のバグの対策プログラムを発表するようになった。以前は修正プログラムが完成した都度に発表していたが、ユーザが頻繁に修正プログラムの発表を調べなくてはならず、修正が行われずに放置されてしまう場合が逆に増えてしまっていた反省によるものである。ただし、既に実害が発生している場合などは即時の発表が行われている。他社もマイクロソフトに倣って第二火曜日近辺に発表することが多くなった。
バグ管理システム
近年、ソフトウェアの開発においてはバグの修正が重要な作業と考えられている。バグを漏らさず修正し、再発を防ぐには、バグの発見日時や発見者、再現方法、修正担当者、修正履歴、修正方法、重要度、テスト状況などの多くの情報を残し管理する必要がある。開発によっては数千という数のバグが発生し、また多数のテスト担当者や修正担当者が関わっていることを考慮すると、従来のファイルレベルの管理では追いつかなくなっている。このような背景から、バグを管理するソフトウェアであるバグ管理システムが生まれた。バグトラッキングシステム (BTS[10]) とも呼ぶ。
バグ管理システムは、ウェブサーバ上で動作し、ウェブブラウザ経由でアクセスできるようになっている。また電子メールとも連動し、修正時にテスト担当者やバグ報告者にメールが送信されるものもある。
主なバグ管理システムにはBugzillaや影舞などがある。また、最近ではウェブサーバを必要としないP2Pアーキテクチャによるバグ管理システムの Papilio といったものも登場した。
バグ管理システムは、バージョン管理システムと同様、ソフトウェアを開発する上での必須ツールになりつつある。
バグとソフトウェア工学
ソフトウェアでバグを出さない最も良い方法は、そもそもバグが起こりにくい開発を心がけることだといえる。バグが起こりにくい環境では、その分工数に余裕が持てる上、ソフトウェア自体の性能も良好になりやすいという、正の相関性が見られる。正しい環境の追求は非常に重要な問題である。
どのような方法論をとれば開発過程にひずみを産まないか、安全なプログラムを書くにはどのような言語を用いるべきか、適切な人員配置とコミュニケーションはどのように行われるべきか、等々、そのような知見を扱う分野はソフトウェア工学と呼ばれる。
コンピュータゲームにおけるバグ
コンピュータゲームも一般的なソフトウェアのひとつであり、同様にバグは存在する。進行やセーブデータ保全に影響するようなものの場合はゲーム雑誌などで告知されたり、影響力が大きい人気ゲームの場合は新聞でも取り上げられたり重大なバグだとメーカーが判断した場合は対策がなされる。ハードディスクなどの書き換え可能なストレージにインストールする汎用PC向けソフトウェアならば公式ウェブサイト上で修正パッチを配布する事でも対応できるが、メディアから直接起動するのが原則であるパッケージ販売の家庭用ゲームソフトのバグは以前はアップデートが困難あるいは不可能であったため、無償で修正版との交換が行われることもあった。近年ではほとんどの家庭用ゲーム機がネットワーク機能に対応し、またパッチデータを後からインストールする余裕のある大容量ストレージを搭載するようになったため、パッケージ販売のソフトでもPCソフトと同様にネットワークを通じて修正パッチを配布して対応されるようになった。しかし、発売後に発覚したバグは再出荷の際にも放置されるゲームもある。
また、ユーザーがバグを裏技や小技として利用することがある。中には『スペースインベーダー』の「名古屋撃ち」等のように、元々はバグにより発生した開発者の意図しない現象であったものが、後に正式な仕様の裏技として認知されるケースもある。
さらに、画面表示が異常になった状態を俗に「バグる」と呼ぶことがあるが[11]、本来はバグ(もしくは他の要因)の結果、表示が異常になったものである。ほかにも、意図的に動作不良を起こさせた状態をバグと呼んだり、異常な形で現れた要素を「バグキャラ」「バグアイテム」等ということもある。これらは、コントローラーや本体のスイッチなど利用者に公開されている操作によって発生すればバグであるが、本体に衝撃を与える、端子を短絡させる、動作中にカセットを挿抜する、電源電圧を不安定にする等して引き起こす現象をバグと表現するのは適切ではなく、英語ではこのような現象を指す場合はbugではなくglitchを用いる。
非電子系ゲーム(ボードゲーム、実際のスポーツ等)をコンピューター上で再現する類のゲームの場合、実際のゲームと異なる動きをする場合にバグと呼ばれることがある。多くの場合そういったものはメーカーは「バグ」という表現を避け、「異なる仕様がある」という説明にとどめる傾向にある。
2次元コンピュータグラフィックスを使った作品(2Dゲーム)は物体同士の衝突判定や画面表示位置などの座標計算処理が比較的簡単である一方、3次元コンピュータグラフィックスを使った作品(3Dゲーム)は次元が1つ増えるだけで空間の複雑度が急激に増加するため、座標計算処理の実装ミスやハードウェアの表示限界などによりバグを引き起こしやすくなり、壁と壁の間に挟まりキャラクターが移動できなくなる、本来表示されるべきオブジェクトが表示されなくなるなどの不具合現象が発生することが多くなる傾向がある。
オンラインゲームでは、参加プレイヤーのスコアをもとにランク付けや報酬分配をしたり、作品内の通貨やアイテムなどを購入するためにユーザーがゲーム本体とは別に追加料金を支払う課金システムを採用したりするものが多い。このシステムにバグが生じることでランキングを不正に操作したり、課金なしで無制限に購入することができてしまったりするなどの不都合が発生すると、ゲームとして致命的な問題になるため、ゲームサーバーを一時停止してでもバグを修正する必要がある。オンラインゲームの中には、利用規約でユーザーがバグを意図的に発生させる行為を禁止しているものもある。これらは不正行為と言われる。
バグによって引き起こされた裏技(バグ技)についてはバグ技も参照。
脚注
- ^ Edison to Puskas, 13 November 1878, Edison papers, Edison National Laboratory, U.S. National Park Service, West Orange, N.J., cited in Thomas P. Hughes, American Genesis: A History of the American Genius for Invention, Penguin Books, 1989, ISBN 0-14-009741-4, on page 75.
- ^ Danis, Sharron Ann: "Rear Admiral Grace Murray Hopper"
- ^ 英: First actual case of bug being found.
- ^ IEEE Annals of the History of Computing, Vol 22 Issue 1, 2000
- ^ これ以前から故障の原因のことを「バグ」と呼んでいたことが推測される。
- ^ 日誌の記述全体は 1545(時刻)Relay #70 Panel F(moth)in relay. First actual case of bug being found.
- ^ E.W. Dijkstra Archive: On the reliability of programs. (EWD303)
- ^ 世界で重要度を増す「バグ報奨金」制度 | Forbes JAPAN(フォーブス ジャパン)
- ^ “人工知能が「バグの発生」を未然に防ぐ──ゲーム開発に導入したユービーアイソフトの狙い”. WIRED.jp (2018年3月19日). 2018年3月24日閲覧。
- ^ 英: bug tracking system
- ^ バグるとは - デジタル大辞泉 コトバンク
関連項目
バグ(または使用物品関連のトラブル)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/02 03:14 UTC 版)
「ゲームセンターCX」の記事における「バグ(または使用物品関連のトラブル)」の解説
挑戦は長時間のプレイを余儀なくされるため、時折使用するソフトかハードが経年劣化と、長時間のプレイで過度の負担に耐えられなくなり(CD-ROM媒体ハードの場合は熱暴走による)深刻なバグ、または重度のフリーズが発生してプレイ続行不可能となってしまい、リセットする羽目になり挑戦が振出しに戻ってしまう、もしくは復旧のめどが立たないため、挑戦延期となる事態に陥ることも少なくない(後者の場合は、念のためにトラブルを起こしたものと違う機体でプレイする)。なお、挑戦の最終盤に発生した場合は、それをもって挑戦終了となる場合もある。
※この「バグ(または使用物品関連のトラブル)」の解説は、「ゲームセンターCX」の解説の一部です。
「バグ(または使用物品関連のトラブル)」を含む「ゲームセンターCX」の記事については、「ゲームセンターCX」の概要を参照ください。
バグ
「バグ」の例文・使い方・用例・文例
- バグパイプを吹く人たちの演奏
- フォアグラウンド処理のバグについての報告
- 多くの科学者が、アメリカの農業に大きな損害を与えたスーパーバグを制御するために研究している。
- 彼はバグパイプを吹くことができる。
- 納品したプログラムのバグについて、社内の技術者が応急的なプログラムを作成することで対応する。
- だからバグ別の場所では直さなければならない。
- 累積バグ数
- あなたたちはバグの修正に注力してください。
- 私たちはバグについてお客様に正確に伝える必要がある。
- そのバグを再現できませんでした。
- そのバグが修正されるのを待っています。
- このバグは以前から存在しています。
- このバグは以前から発生しています。
- あなたはそのバグの原因が分かりますか?
- あなたはそのバグを改善してくれてありがとう。
- このバグの原因を解明するのに、まる3日もかかりました。
- バグの原因は初歩的な構文の誤りというか、単なる凡ミスでした。
- プロジェクトメンバーを総動員し、2日かけてやっとバグの原因が分かりました。
- バグの原因が特定できましたので早急に対応致します。
- ああそうそう、コメント欄のバグは文字間を調節するletter-spacingタグを使うと起こるものだったみたい。
バグと同じ種類の言葉
- >> 「バグ」を含む用語の索引
- バグのページへのリンク