タグ

バグとネタに関するkyo_agoのブックマーク (2)

  • オーバーフローが引き起こした面白いバグの話|Rui Ueyama

    一度聞いたら忘れられないような印象深いバグというものがある。僕は数値のオーバーフローと聞くと必ずこの2つのバグを思い出してしまう。どちらも面白いエピソードなのでちょっと紹介してみよう。 一つ目は、初代Civilizationにあったバグである。Civilizationは文明間で戦う戦略シミュレーションゲームで、チンギスハンとかエリザベス女王みたいなプレイヤーを選んで、世界制覇か宇宙開発競争での勝利を目指すというゲームだ。 初代Civilizationにあったバグは、非暴力主義のガンジーが突然核攻撃してくるというものだった。原因は文明が民主主義を採用すると攻撃性が2下がるというロジックだった。初代Civではガンジーの攻撃性は全プレイヤー中で最小の1なのだが、ゲームが進んでインド文明が民主主義を採用すると、攻撃性がマイナス2されてオーバーフローで255になり、ガンジーがゲーム中で突如、極度に攻

    オーバーフローが引き起こした面白いバグの話|Rui Ueyama
  • 特異なバグ - Wikipedia

    特異なバグ (英: unusual software bugs) とは、ソフトウェアバグの中でも特に修正が難しいものを言う。いくつかの種類があるが、直感的に理解しがたいような理論を発表した科学者に由来して名前が付いているものが多い。 ハイゼンバグ (Heisenbugs)[編集] ハイゼンバグは、それを調査しようとすると変貌したり消えたりするバグである。 ハイゼンバグの例: リリース版では発生するがデバッグ版(-DDEBUGコンパイルオプション等)では発生しない。 普通に実行すれば発生するがデバッガなどの環境では発生しない。 ユーザーの環境では発生するが開発者の環境では発生しない。 結合テストでは発生するが同じチェックをしているはずの単体テストでは発生しない。 何が起きているのか調べようと出力命令を入れると(いわゆる「printfデバッグ」)発生しなくなる。 競合状態によって発生している。

  • 1