【ばぐ】
バグ とは?
💡 プログラムに潜む「虫」、見つけて退治するのがエンジニアの日常
📌 このページのポイント
バグって本当に虫が関係してるの?
有名な話があって、1947年にハーバード大学のコンピューター「Mark II」の中に本物の蛾が挟まって故障したんだ。グレース・ホッパーという技術者がその蛾をノートに貼り付けて「最初の本物のバグ」って書いたのが語源とされてるよ。ただ「バグ」って言葉自体はそれ以前からエジソンの時代に使われていたらしいけどね。
バグってどうやって見つけるの?
バグがあるとどんな問題が起きるの?
軽いものだと「表示が少しずれる」程度だけど、ひどいと「データが全部消える」「お金の計算を間違える」「セキュリティの穴ができて情報が漏れる」なんてことも。実際に銀行のシステムのバグで何億円も誤送金された事例もあるんだ。
バグを完全になくすことってできないの?
残念ながら、ある程度以上の規模のソフトウェアでバグをゼロにするのは事実上不可能と言われてる。テストで品質を上げることはできるけど、「バグがないこと」を証明するのは「バグがあること」を証明するよりはるかに難しい。形式手法っていう数学的にプログラムの正しさを証明する分野があるんだけど、これが使えるのはごく小規模なプログラムや、航空宇宙・医療みたいなミッションクリティカルな領域に限られてる。コストが桁違いにかかるから、普通の開発では「バグは出る前提で、いかに早く見つけて直すか」という考え方のほうが現実的なんだよね。
📖 おまけ:英語の意味
「Bug」 = 虫
💬 1940年代にコンピューターの中に本物の虫(蛾)が入り込んで故障したエピソードが有名。そこから「プログラムの不具合=バグ」と呼ばれるようになったよ