クイズ問題: コンピューターのソフトやプログラムなどで起こるエラーや欠陥のことを、「虫」という意味の言葉から何という?
答え: バグ

関連するWikipedia記事の抜粋:
title: バグ
text: バグ (英: bug) とは、英語で「虫」の意であり、転じてコンピュータプログラムの誤りや欠陥を表す。
title: ファジング
text: ファジングとは、ソフトウェアの不具合(とくに脆弱性を意図することが多い)を発見するためのテスト手法の一つである。ファズ(英語: fuzz)(予測不可能な入力データ)を与えることで意図的に例外を発生させ、その例外の挙動を確認するという方法を用いる。ファズテストと呼ばれることもある。
title: ブルースクリーン
text: ブルースクリーン(英語: Blue Screen of Death, BSoD)、通称「青い死の画面」とは、Microsoft Windowsにおいて、オペレーティングシステム (OS) に何らかの異常が発生した際に表示されるメッセージおよび、その画面全体を指す通称である。青い背景に文字が表示されることからこの名がついた。他のOSでのブルースクリーンは、「カーネルパニック」等と言われている。
title: ジョークプログラム
text: UNIXやMS-DOSなどのCUI環境でミススペルに別のコマンドを仕込んだり(有名な例としてslがある)本来起こり得ない事象を発生させるものとして、Windowsが動作しているパーソナルコンピュータにMac OSの起動画面を表示させるソフトウェアや、無意味なダイアログを発生させるもの、閉じるためにクリックしようとマウスカーソルを近づけると逃げるダイアログ、意図しないタイミングで発動する単純なコンピュータゲーム、突然マウスカーソルが巨大化してしまうソフトウェア、各種設定を一時的に書き換えて予期しない動作を発生させるものなど様々である。ほかにもマイクロソフトが制作した、スクリーンセーバーとして、ブルースクリーンを表示させる「ブルースクリーン・スクリーンセーバー」などがある。
title: グリッチ
text: グリッチは、発生した時点では検出されず、後になってデータの誤りや人間の誤った判断によって現れるエラーのことを指すことも多い。コンピュータのグリッチと呼ばれるものには、ソフトウェアの記述ミス(バグ)、オペレータの操作ミス(オペレータ・エラー。この可能性を考慮していない場合もバグとみなされることがある)、検出されなかった無効な入力データ(これもバグとみなされることがある)、検出されなかった通信エラー、コンピュータ・ウィルス、トロイの木馬攻撃、コンピュータへの攻撃(俗にハッキングと呼ばれるもの)などがある。
title: デバッグ
text: その逸話は以下のようなものである。ホッパーがある初期のコンピュータに携わっていたとき、蛾がリレーの中に入って動作不良を起こすのを見た。ここから、プログラムからエラーを取り除く作業を指してデバッグという語が使われ始めたと信じている者もいる。ホッパーによればバグという語はそれ以前にも使われており、実際にその場面に遭遇したのがおもしろかったという。
title: バグ
text: 「バグ」は英語からの外来語であるが、この言葉はコンピュータの登場以前から、機械装置の原因不明な不具合をあらわす符牒として技術者の間で使われていた。たとえば1878年にエジソンが同僚に宛てた手紙のなかで、彼は機械の不具合のことを「バグ」と呼んでいる。また、第二次世界大戦中には、レーダーの故障をバグと呼んでいたという記録が残っている。現在の米口語では、バグはコンピュータのバグや虫の意味のほかにも、動詞として「人を悩ませる、いらいらさせる」という意味でよく使われる。
title: グリッチ
text: 一般には、グリッチはすぐに修正される軽微な不具合のことを指し、システム障害の原因がプログラムの不具合にあるという事実を示すバグの婉曲表現として使用されている。
title: Linux kernel oops
text: oops(ウップス)とはLinuxカーネルがエラーログを生成する、正常な動作からの逸脱状態のことである。その状態に陥った際に発せられるメッセージを指す場合もある。有名なカーネルパニックの発生は様々なoopsに起因するが、その他のoopsはシステムの連続稼働における信頼性を損なう可能性がある。この用語は英単語oopsの通常の用法と同様単なる錯誤を表すものであり、何かの略語ではない。
title: ダブルバインド
text: ダブルバインド(英: Double bind)とは、ある人が、メッセージとメタメッセージが矛盾するコミュニケーション状況におかれること。この用語はグレゴリー・ベイトソンによる造語である。
title: 人柱
text: また、ハードウェアに限らずソフトウェアにおいても人柱の表現は用いられる。新しいオペレーティングシステムがベンダーから提供された際に、いち早くこれを導入し、バグ・不具合などを報告するレビュワーも「人柱」の一種である。
title: メモリリーク
text: メモリリーク (英: memory leak) とは、プログラミングにおけるバグの一種。プログラムが確保したメモリの一部、または全部を解放するのを忘れ、確保したままになってしまうことを言う。プログラマによる単純なミスやプログラムの論理的欠陥によって発生することが多い。
title: ガベージコレクション
text: ガベージコレクション(英: garbage collection; GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。
title: バッファオーバーラン
text: バッファオーバーラン(英: buffer overrun)、バッファオーバーフロー(英: buffer overflow)とは、コンピュータのプログラムにおけるバグのひとつ、またはそれにより引き起こされた現象で、プログラムで用意されたバッファよりも大きなサイズのデータをバッファに書き込む事で、データがバッファ境界からあふれ、バッファの外側のメモリを上書きしてしまう事により、元々そのメモリにあったデータを破壊してしまうものを指す。
title: ポルターガイスト現象
text: コンピュータプログラミングにおいて、ほかのオブジェクトに情報を渡すだけのオブジェクトを表す。アンチパターンの一つ。
title: ARPスプーフィング
text: ARPスプーフィング(アープスプーフィング)とは、ARPプロトコルの応答を偽装することにより、LAN上で通信機器のなりすましを行う技法である。
title: デッドコード削除
text: デッドコード削除(英: dead code elimination(デッドコード取り除き))は、コンピュータ・プログラムの最適化などの目的で行われるプログラムの変形のひとつで、到達不能コードや冗長なコードなどといった「デッドコード」を削除する操作である。効果としては、最適化として見た場合、コードサイズの削減(いわゆるフットプリントの縮小)や、それに伴うキャッシュの利用効率の向上などによる高速化も期待できるかもしれない。
title: カーソル
text: ロールオーバー(英: rollover)とは、マウスオーバーによって期待される現象のことである。
title: サイバーセキュリティ
text: DoS攻撃には2種類の類型があり、第一の類型はウェブサービスに大量のリクエストや巨大なデータを送りつけるなどしてサービスを利用不能にするフラッド攻撃(Flood=「洪水」)であり、第二の類型はサービスの脆弱性を利用する事でサービスに例外処理をさせるなどしてサービスを利用不能にする攻撃である。
title: DoS攻撃
text: DoS攻撃には2種類の類型があり、第一の類型はウェブサービスに大量のリクエストや巨大なデータを送りつけるなどしてサービスを利用不能にするフラッド攻撃(Flood=「洪水」)であり、第二の類型はサービスの脆弱性を利用する事でサービスに例外処理をさせるなどしてサービスを利用不能にする攻撃である。
title: グリッチ
text: ビデオゲームにおけるグリッチとは、コード内に重大な問題を引き起こす可能性のあるソフトウェアのエラーのことで、通常、そのソフトウェアの制作中には気づかれず、解決されない。日本においては「バグ」と呼ばれることが多い。これらのエラーは、開発者や開発チームがパッチで修正するまで、裏技として使われたり、悪用されたりする。複雑なソフトウェアでは、最初のリリース時にバグがない、あるいはエラーがないということはほとんどない。
title: フリーズ
text: フリーズ(英: freeze)は、コンピュータまたはソフトウェアが何らかの原因によって応答しなくなる状態を示す。LinuxカーネルやmacOSにおけるカーネルパニックもフリーズの一種である。
title: バッファオーバーラン
text: サイバーセキュリティ/情報セキュリティの分野ではバッファオーバーフローはメモリ破壊系の脆弱性の一つとして知られ、攻撃者がバッファオーバーフローのあるプログラムに意図的に悪意のあるデータ(コード)を与えることにより、コンピュータの動作を乗っ取ってしまえる可能性がある。バッファオーバーフローを悪用した攻撃をバッファオーバーフロー攻撃という。
title: バグ
text: 多くのバグが含まれ、機能的に正常な役割を果たさないものを、バギー・プログラムと呼ぶことがある。
title: Root化 (Android OS)
text: 「文鎮化」(bricking)という用語は、ソフトウェアの改造が不適切な方法で行われたため、(「文鎮」と化したかのごとく)動作不可能な状態になったデバイスを指して言われる。
title: コアダンプ
text: 多くのオペレーティングシステムでプログラムの中の致命的エラーは自動的にコアダンプを引き起こす。従って、実際にコアダンプファイルが生成されたかどうかに関わらず、致命的エラーが発生したことを「コアを吐いた」と呼ぶこともある。
title: ポリモルフィックコード
text: ポリモルフィックコード(英: Polymorphic code)とは、本来のアルゴリズムを保ったまま変化していくコード(プログラム)である。この技法はコンピュータウイルス、シェルコード、ワームが自身の存在を隠すために使われる。
title: スラッシング
text: スラッシング (英: Thrashing) とは、仮想記憶環境下において、物理メモリが不足気味で、かつ動作しているプロセスのアクセスパターンのために、ページアウトしたデータをすぐにページインするというようなことを頻繁に繰返す必要が発生していて、仮想記憶を管理しているシステム(一般にはオペレーティングシステム)のそのような動作の結果、システムの動作が極端に遅くなっている、というような状態のことである。
title: デタラメな残像
text: ジャスト (just)
title: バッドウェア
text: バッドウェアとは、ユーザの知らない間に(しばしば悪意をもって)隠し機能を仕込むことにより、ユーザの害になるような行為を行なうソフトウェアのことである。 バッドウェアは、アメリカの消費者団体、StopBadwareが提唱する概念であり、「bad(悪い、信頼におけない、無作法な)」ソフトウェア(software)という造語である。
title: サイバーセキュリティ
text: ファジングは開発したソフトウェアに脆弱性を引き起こしやすい様々な入力を与える事で、脆弱性を発見する手法である(インプットとして極端に大きな値を入力してみるなど)。ファジングは実装工程やテスト工程において、何らかのツールやサービスを利用して実行される。
title: フリーズ
text: フリーズの原因は様々である。例えばソフトウェアやデバイスドライバのバグ、物理メモリのエラーやCPUの熱暴走などの物理的な問題が挙げられる。 ユーザーからの入力に対して、コンピュータが何らかの反応はするが、それが期待されたものではない(間違っている)ときは、「不具合」「バグ」「誤動作」というのが普通であり、「フリーズする」とは言わない。
title: インジェクション攻撃
text: インジェクション攻撃(インジェクションこうげき、英: Injection attack、または Code injection)とは、コンピュータプログラムが無効なデータを処理した場合に出現するバグを、攻撃者が悪用し不正な命令を実行する攻撃手法である。攻撃者は脆弱性のあるプログラムにソースコードを注入(インジェクト)し、実行過程に変更を加える。インジェクション攻撃が成功した場合、例えばワームの増殖のような、深刻な被害を受けることがある。
title: ペイロード (コンピュータ)
text: コンピュータウイルス、ワームなどのマルウェアの場合は、悪意のある動作をする部分のコードのことをペイロードという。
title: デフラグメンテーション
text: デフラグメンテーション(英: defragmentation)とは、コンピュータのファイルシステムにおけるフラグメンテーションを解消すること。しばしば略してデフラグとも呼ばれる。
title: バグ
text: さらに、画面表示が異常になった状態を俗に「バグる」と呼ぶことがあるが、本来はバグ(もしくは他の要因)の結果、表示が異常になったものである。ほかにも、意図的に動作不良を起こさせた状態をバグと呼んだり、異常な形で現れた要素を「バグキャラ」「バグアイテム」等ということもある。これらは、コントローラーや本体のスイッチなど利用者に公開されている操作によって発生すればバグであるが、本体に衝撃を与える、端子を短絡させる、動作中にカセットを挿抜する、電源電圧を不安定にする等して引き起こす現象をバグと表現するのは適切ではなく、英語ではこのような現象を指す場合はbugではなくglitchを用いる。
title: ブロック (プログラミング)
text: 動作が完了するまで呼び出し元が待たされる(ブロックされる)処理のことをブロッキング処理 (blocking processing) と呼ぶ。ブロックされる状況にある場合は即座にエラーを返して呼び出し元を待たせない方式をノンブロッキング処理 (non-blocking processing) と呼ぶ。代表的な例として、ネットワーク通信におけるブロッキングとノンブロッキングが挙げられる。
title: バグ
text: 安易な修正(バグフィクス)は避けられる傾向にある。修正内容にバグを含んでいる場合や、関連するプログラムがバグの存在によって正常に動作していた可能性があるためである。「正常に動作しているものは触らない」、「寝ているバグは起こさない」と言われる。しかし現実は、ハードウェアや言語の仕様では定められていない動作などを利用していて「偶然うまく動いているだけ」という壊れている多くのシステムを放置する言い訳として、このような主張がされることが多く、そういった場合には「何が起きるかわからないから、ハードウェアの同等品へのリプレースも、OSや処理系のバージョンアップも、セキュリティフィックスのパッチ当てさえもできない」という、ますます危険になり続けているシステムが放置される結果となる。
title: 先読み
text: 先読みまたはルックアヘッド(英: Lookahead)は、アルゴリズムにおいて未処理の入力の一部を先に参照し、現在の処理での判断に利用することで効率化する方法。
title: Diff
text: デッドコピー(dead copy)とは、
title: HTTPヘッダ・インジェクション
text: HTTPヘッダ・インジェクション(HTTP header injection)とは、HTTPを使って通信するシステムにおいて、動的にHTTPヘッダを生成する機能の不備を突いてヘッダ行を挿入することで不正な動作を行なわせる攻撃手法のこと。また、その攻撃を可能とする脆弱性のこと。
title: デフラグ (Windows)
text: デフラグ(英語版での名称はDisk Defragmenter)は、主としてMS-DOSファイルシステム(FAT FS)をデフラグメンテーションする(発生しているフラグメンテーションを解消する)コンピュータ・プログラムである。「最適化」という用語が日本語版では多用され、この記事中でも多用するが、最適化問題等の専門用語としてのそれというよりもマイクロソフトによる、「デフラグメンテーション」の「ユーザにわかりやすい」言い換え語というほうが近い。
title: フェイルソフト
text: フェイルソフト(フェールソフト)とは、故障箇所を切り離すなど被害を最小限に抑え、機能低下を許しても、システムを完全には停止させずに機能を維持した状態で処理を続行(縮退運転)する設計のこと。これは信頼性設計の一つである。
title: 無限ループ
text: 専門用語としての他、刺激的に感じられる他の用語(例えばメモリリーク)と同様に、不正確な通俗的な使い方もされている(「日常会話での使用」を参照)。専門的な意味としての無限ループは、通常プログラマが原因を突き止めることができる、と簡単に考える者もいるようだが、実際のところそうではないこともある(#無限ループの検出)。
title: スパゲティプログラム
text: プログラムの高速化のため、CPUのバグを突くようなトリッキーなプログラミングが推奨されるような環境があり、これがプログラムのスパゲティ化を招く。
title: フェイルセーフ
text: コンピュータシステムや操作している人間の不具合を検知するために、定められた周期で決められた信号を送り続け、相手側で信号の受信が無い場合に不具合とみなす仕組みをウォッチドッグタイマーやデッドマン装置と呼ぶ。
title: クラッシュ (コンピュータ)
text: クラッシュ(英: Crash)または異常終了(いじょうしゅうりょう)とは、コンピュータの分野において、アプリケーション(アプリ)やプログラムが、通常とは異なる形で終了することを指す言葉である。ちなみに、クラッシュの英語での本来の意味は「衝突、破壊、墜落」などであるが、本項では主に異常終了のケースについて記述する。
title: チート
text: なお、意図しないバグの一種についてはチート行為の範疇には含まれない。コンピュータが外来ノイズなどで偶発的に誤動作を起こした場合、確率の問題からまれにそれが利用者にとって好ましい結果となりうるケースもあるが、これらはチート行為の範疇には含まれない。
title: リファクタリング (プログラミング)
text: リファクタリングが登場する以前は、一度正常な動作をしたプログラムは二度と手を触れるべきではないと言われていた。なぜなら、下手に手を加えて動作が変わってしまうと、それに伴って関連する部分にも修正が加えられ、やがてその修正作業はプロジェクト全体に波及し対処しきれなくなる可能性があったからである。また、ソフトウェアテストを十分に行い、正常な動作が確認されたとしても、そのプログラムを少しでも改変してしまえば、その後バグ (欠陥) が見つかったときに、改変があったプログラムを疑わなければならない。
title: ブート
text: Windows では、ブート処理中に解決できないエラーが発生すると、いわゆるブルースクリーン状態になる。
title: ブロックバスター (医薬品)
text: 副作用の隠蔽、論文のゴーストライティングといった問題も同時に語られてきた。
title: バグ
text: プログラミング上の主なバグには、論理的なバグと誤記によるバグがある。
title: エミュレータ
text: エミュレータ(英: Emulator)とは、コンピュータや機械の模倣装置あるいは模倣ソフトウェアのことである。
title: ブートストラップ問題
text: ブートストラップ問題 (Bootstrap problem) は、コンパイラをコンパイル対象のプログラミング言語で作成した際に、そのコンパイラの最初のコンパイルをどうするかといった場合を典型的な例とする、いわゆる「鶏と卵」の形をしたセルフホスティング環境の問題を指す。これを解決するための方式をブートストラップ方式といい、この問題を何とかして最初の完備した環境を作ることをブートストラッピングという。
title: エコーチェンバー現象
text: 「フィルターバブル」と言う用語とも関係が深い用語である。検索サイトのアルゴリズムが個人に最適化されすぎた結果として、「フィルターバブル現象」が発生すると、もはや自分の意見と異なる意見を検索して見ることが出来なくなり、結果として泡(バブル)のような狭い閉じた空間にとらわれたように、自分の見解と異なる観点の情報から遮断されてしまう。どちらも、自分の意見と異なる情報から遮断される現象を、狭い閉じた空間に捕らわれたことに喩えたのは同じだが、その違いは、フィルターバブルが「個人」と「アルゴリズム」(ネットの向こうでこれを動かしているのは「AI」あるいは「マシーン」である)の関係で生じるのに対して、エコーチェンバーは「個人」と「コミュニティ」(ネットの向こうでこれを動かしているのは「ヒト」と「ヒト」である)の関係で生じる、と言うことである。
title: クラッシュ (コンピュータ)
text: クラッシュに至るバグを修正しようとする際、クラッシュ時に何が起きていたかの情報が有用である。しかしクラッシュ発生時はプログラムはすでに終了しているため、プログラム自身が情報を残すことは難しい。そこでクラッシュ時に情報を収集する仕組みをあらかじめ用意しておく例がある。この情報は特にデバッガの使えないエンドユーザー環境で発生したクラッシュの原因を特定する、「ポストモーテムデバッグ」(Post-mortem debug/プログラム検死型デバッグ)と呼ばれるデバッグ手法に役立つ。
title: フィルターバブル
text: フィルターバブル (filter bubble) とは、「インターネットの検索サイトが提供するアルゴリズムが、各ユーザーが見たくないような情報を遮断する機能」(フィルター)のせいで、まるで「泡」(バブル)の中に包まれたように、自分が見たい情報しか見えなくなること。
title: プログラミング
text: バグだらけのプログラムは使いものにならないため、デバッグは重要である。C言語やアセンブリ言語などは、慣れたプログラマであっても、バッファオーバーランや不正なポインタやメモリの初期化忘れ/解放忘れといったバグを作りこみやすい。バッファオーバーランは隣接するメモリ領域を破壊し、全く関係ない箇所でプログラムに異常が発生する原因となる。このため、C言語やC++でのプログラミング向けに Valgrind、Purify、BoundsChecker といったメモリデバッガが開発されてきた。
title: ボット (ゲーム)
text: 画像やパケットなどによる判定を行わずに、単純にマウス操作やキーボード操作を繰り返すだけのマクロは、ボットではなく寝マクロと呼ばれることが多い。また、ボットを使用する者をBOTTER(ボッター)と称する事が多い。
title: 例外処理
text: 例外処理の過程では処理の流れが通常の制御とは大きく変化することとなるが、これを(エラー処理以外の目的で、正常系において)積極的に利用することは、アンチパターンとされることもある。
title: ソフトウェアテスト
text: プログラムの内部構造に注目したテストをホワイトボックステスト (white box test)、プログラムの入力と出力に注目したテストをブラックボックステスト (black box test) という。
title: 坂本梓馬
text: ソフトウェアの後戻り (英: software regression) とは、システムのアップグレード、システムの更新プログラム適用、夏時間への変更などの特定のイベントの後で、機能が意図したとおりに機能しなくなるソフトウェアのバグのこと。 ソフトウェアのリグレッション・後退・先祖返り、またはデグレード(degrade、デグレ)とも呼ばれる。ソフトウェアパフォーマンスのリグレッションは、ソフトウェアが正常に機能しているにもかかわらず、パフォーマンスが遅くなったり、以前よりも多くのメモリやリソースを使用したりする状況のこと。
title: NXビット
text: ノイマン型アーキテクチャのコンピュータでは、プログラムをメモリ上にデータとして読み込み、逐次実行する。メモリを読み取った際それがデータであるかプログラムであるのかを、単にメモリ上のデータのみをもって判断することは、ノイマン型では本質的に不可能である。バッファオーバーラン(バッファーオーバーフロー)等と呼ばれる攻撃は、ノイマン型コンピュータのこのような性質を悪用して行われる。
title: ハニーポット
text: ハニーポット (英語: Honeypot) は、コンピュータセキュリティ用語としては、不正アクセスを受けることに価値を持つシステムのことを指す。元来は「蜜(の詰まった)壷」の意味で、何らかの有益そうな情報や資源がありそうな場所を用意して、それにつられた者を観察したり、肝心な部分で被害を出さないために目をそらせたり、コンピュータ・フォレンジックスを行うための証拠を集めたりする、一種のおとり手法に使われる。手法そのものをハニーポットと呼ぶこともある。
title: 反射攻撃
text: コンピュータネットワークにおいて、反射攻撃 (またはリプレイアタック) は、有効なデータ転送が故意または不正に繰り返し/遅延されることによる、攻撃の形式である。IP パケットの置換によるDNS偽装の一部のように、発信者や攻撃者がデータを傍受し再送信することによって実行される(ストリーム暗号攻撃のようなものである)。
title: デバッグ
text: デバッグ(debug)とは、コンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業である。サブシステムが密結合であると、1箇所の変更が別の箇所でのバグを作り出すので、バグの修正がより困難となる。
title: アストリア
text: フェイルバック(Failback)または切り戻しとは、逆に、フェイルオーバーによって切り換えられたサーバ/システム/ネットワークを障害発生前の元の状態に戻す処理を意味する。
title: バグ
text: コンピュータに関しては、グレース・ホッパーが、Harvard Mark II(英語版)のプロジェクトで働いていた時に、バグとして本物の虫を発見したという話がある。不調になったMark IIを調べたところ、リレーの間に虫(蛾)が挟まっていたのを別の技術者が発見した。彼女はこれを、作業日誌にテープで貼りつけて「本物の虫が『バグ』として発見された最初の例」と書き残した。この日誌は米海軍歴史博物館に保管されている。
title: グリッチ
text: コンピュータにおけるグリッチとは、通常、コンピュータを含むシステムが、その機能を完遂できない、あるいは適切に実行できないことを指す。
title: クリックジャッキング
text: クリックジャッキングはConfused deputy problem(コンピュータのもつ権限を悪用させられる問題)の一種と捉えることができる。
title: ブラウザクラッシャー
text: ウェブブラウザで当該ページにアクセスすることにより、ウェブブラウザや OS の動作に異常を発生させる。「クラッシャー」はソフトウェアをクラッシュさせる動作を意味している。ソフトウェアの構成やハードウェアに直接の破壊的な影響を及ぼす場合もある(FDDアタックなど)。
title: ストライサンド効果
text: ストライサンド効果(ストライサンドこうか、英語: Streisand effect)は、ある情報を隠蔽したり除去しようとしたりする努力が、かえってその情報を広い範囲に拡散させてしまう結果をもたらす現象を意味するインターネット・ミーム。
title: バグ
text: なお、発生したバグを探して取り除く作業はデバッグと呼ばれる。
title: エラー
text: プログラム上においてエラーとしての認識がなされていない不正な処理ルーチンをバグと言う。また、OSの停止を伴うものはフォルトまたはストールと言う。OSが停止していない場合には、OS側が持つエラー処理ルーチンから排出するエラー情報からバグを見つけられることもある。またOSが停止してもコアダンプなどファイルの形で静的データが保存されている場合は、これを手掛かりとして異常を調査することも可能である。
title: 遅延読み込み
text: 遅延読み込み(ちえんよみこみ、英語: Lazy loading)とは実際にオブジェクトが必要とされたときに後から初期化を行うソフトウェアデザインパターンの一つである。
title: ブラウザクラッシャー
text: ブラウザクラッシャーとは、ウェブブラウザやオペレーティングシステム (OS) の仕様・バグを悪用するスクリプト言語または HTML 文書を記述したウェブページのこと。
title: インジェクション攻撃
text: コードインジェクションは健全な目的にも用いられる。例えば、コードインジェクションによりプログラムやシステムの動作を変更したり微調整したりすることで、悪意のない特定の動作をするようにシステムを「だます」ことができる。 具体例として
title: ウォー・ゲーム (映画)
text: マイクロコンピュータの本格的な普及が始まり、同時に従来からあった電話のタダがけ(en:Phreaking)などを駆使したハッキング行為が一般に注目されるようになった時代を背景に制作されている。
title: 性能解析
text: このような性能強化は、プログラムの誤動作を引き起こさないで単に遅くする種類のバグを修正する作業である。このようなバグをスラグ(slug = slowness bug)と呼ぶことがある。プログラムにはバグとスラグが含まれており、ソフトウェアテストによってバグは除去されるが、スラグは性能解析をしないと除去されない。
title: オーバーレイ (コンピュータ用語)
text: 以下は、ほぼ一般的な語としての「オーバーレイ」の用例である。
title: 文鎮 (電子機器)
text: デバイスの起動画面から先に進まない、起動させようとしても反応しないといった状態が文鎮状態である。症状が一時的ではなく、修復は容易でないか不可能な場合もあることから、フリーズとは区別される。
title: SQLインジェクション
text: SQLインジェクション(英: SQL Injection)とは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性のことである。
title: クラッシュ (コンピュータ)
text: コンピュータにおけるクラッシュは、「特定の入力パターン」・「異常値の入力」・「高負荷」・「長時間の連続稼動」など、様々な事象がその引き金となり、アクセス違反、メモリリークなどのバグ(プログラムの設計ミス)を誘発する。それらの結果、コンピュータを異常な状況におく。
title: 落書き
text: 落書きは人の起こす無為、無作為な行動であるため、時にとんでもない分野にも現れる。ハイテク分野もその例に漏れず、コンピュータプログラムのソースコードには古くよりコメント行と呼ばれる、実際の動作には関係しない文字列が在り、これらはプログラムソースを直接的に見ない事には発見されないメッセージである。これらコメント行は本来プログラムに対する注釈であるが、ここにプログラム本体とは無関係な落書きが成されることもある。
title: コールバック (情報工学)
text: コールバックは実行時束縛の一種と見ることもできる。
title: ループ (プログラミング)
text: この記事では、コンピュータプログラムにおけるループ (英: loop) について説明する。ループとは、特定の条件下において特定の処理を繰り返すこと、あるいはそのように作られた制御構造のことを言う。日本語の名詞として「繰り返し」とも。特定の条件が成立している限り、特定の処理を繰り返し何度でも実行する。逆に言えば、条件が成立しなくなったときに、処理を中止する。
title: エラー
text: これがエラートラップが適切で、内部経路を調査の上で的確に問題個所を指示してくれるならユーザーは的確に対応することができる。しかしこれらのメッセージが判り難い場合には、ユーザーは原因不明のエラーメッセージにパニックを起こしかねない。こういった「不親切なエラーメッセージ」としてはブルースクリーンなどが代表的で、末端のユーザーには専ら「これが出たらコンピュータの電源を切る」というレベルで認識されている。
title: スクリプトキディ
text: スクリプトキディ (Script kiddie) とは、他人の製作したプログラムまたはスクリプトを悪用し、興味本位で第三者に被害を与えるクラッカーの俗称である。
title: ヒューマンファクター
text: スレットは、エラーを誘発する要素であり、要素に対して不適切な対応をとるとエラーを誘発し、エラーマネージメントをより困難にする。スレットは大きく分けて2つあり、
title: ジョークプログラム
text: ただし、ジョークプログラム自体の設計ミスやバグといった不具合や、これが他のソフトウェアによって影響を受けたり、逆に悪影響を与えたりといった想定外の被害が出ることは有り得る。中にはコンピュータウイルスに汚染されていたり、あるいはジョークプログラムと偽って流布されているマルウェアも存在する。
title: 無限ループ
text: 「無限ループ」という言葉は他のプログラミング用語(例えばメモリリークやデッドロック等)と同様に非プログラマにも魅力的とされていて、プログラミングエラー以外の状況を表現するのにも使われている。例えば、コンピュータを使う上で一連の手順を求められ、最後には振り出しに戻ってしまうような状況である。特に、目的を達成するか回避するか、その手段がどちらも無いような場合に使われることがある。自発的に何かを繰り返すようにすることを指して使われることもある。
title: 不具合
text: バグとはコンピュータ用語では「プログラムに含まれる誤り」や広く「ソフトウェア開発者の意図した動きと違う動作をする原因」を指すが、その原因もさまざまである。
title: カーゴ・カルト・プログラミング
text: カーゴ・カルト・プログラミング(英: Cargo cult programming)とは、コンピュータープログラミングにおいて、実際の目的には必要のないコードやプログラム構造を儀式的に含めるという行動で特徴づけられる悪習である。カーゴ・カルト・プログラミングは、プログラマが、自身が解決しようとしているバグや明らかな解決策を理解していないことを示す兆候である(ショットガン・デバッギング(英語版)やブードゥー・プログラミング(英語版)も参照)。
title: メモリデバッガ
text: メモリデバッガ(英: memory debugger)とは、動的メモリの確保や開放により生じるメモリリークやバッファオーバーランなどのバグを探し出すためのプログラミングツールである。マネージコードなどのガベージコレクションを備えた言語で記述されたプログラムでも、たとえばコレクションに格納されたままのリファレンスによるメモリリークといった問題が存在するためメモリデバッガが必要な場合がある。
title: スパゲティプログラム
text: スパゲティプログラムは保守・機能追加を妨げるため、修正されることが望ましい。しかし、「動作しているプログラムは修正しない」ことを習慣とする文化では、修正は避けられる傾向にあった。これは、見通しの悪いスパゲッティ状態のプログラムを変更することにより予期せぬバグを追加してしまったり、「寝たバグを起こす」可能性が高かったからである。時間や予算・人材が許す場合でも、この傾向は見られた。
title: ヒューマンエラー
text: ドナルド・ノーマンは、ヒューマンエラーとなる一連の行動を「計画(意図の形成)の段階」と「実行の段階」の2つに分け、計画段階の間違いをミステイク(mistake)、実行段階の間違いをスリップ(slip)と呼んだ。ミステイクはルールに従って実行しても発生する、計画自体に原因があるエラーであり、スリップはボタンの押し間違いなど「うっかりミス」と呼ばれるもので、実施者の注意減少・混乱が原因とされる。
title: イタヤガイ
text: トラブル (trouble) - 英語で「事故」「問題」などを意味する語。
title: ミーム
text: これは、コンピューターウイルスのトロイの木馬にたとえたもので、関心をひきやすいミームをおとりとして利用し、本命のミームを、相手に気づかれないように送り込むこと。コンピューターウイルスのトロイの木馬は、安全なソフトウェアに見せかけてコンピューターに入り込む。同じように、有害なミームでも有益なミームに見せかけることができれば、私たちの心へ侵入できる。
title: 自己書き換えコード
text: 自己書き換えコードは自身の存在を隠したいプログラムにも使われることがある。 すなわち、コンピュータウイルスなどである。 自己書き換えコードを使用するウイルスの多くは、同時にポリモルフィックコードを使っている。 ポリモルフィック(多様)なウイルスは、ある意味で自分を突然変異させるプログラムとも言える。 動作中のコードを書き換えることはある種の攻撃(たとえばバッファオーバーラン)にも使われる。
title: TCPシーケンス番号予測攻撃
text: TCPシーケンス番号予測攻撃とは、TCPのシーケンス番号を予測することで成立する攻撃手法の一つである。ハッキング、サイバーテロ(サイバー攻撃)の一つ。