タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとprogrammingとbugに関するWatsonのブックマーク (8)

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

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

    オーバーフローが引き起こした面白いバグの話|Rui Ueyama
  • バグをドラゴンと呼ぶ運用を始めて1ヶ月くらいたった - Konifar's WIP

    1ヶ月くらい前、 「バグをドラゴンと呼んだらどうなるか」というTweetを見ました。 確かに、バグをドラゴンと読んだ場合「Sクラスのドラゴンが出ました!」「Aクラスのドラゴンを相手にしてる最中だってのに!」って会話になるし、ドラゴンは結局人の手で生み出されたものってところが中二ファンタジーっぽくて良い— 尾野(しっぽ) (@tail_y) March 18, 2015 これは天才的発想だなと思って職場で雑談で話してみたところ、 同僚のスペインエンジニアにバカウケしまして、 それからちょいちょいバグのことをドラゴンと呼ぶようになりました。 せっかくなので、どんな雰囲気になるのかまとめてみようと思います。 先に言っておくと、自分ともう1人スペインエンジニアが時々チャット上で使っているだけで、 正直そんなに流行ってないです。 なんかテンションが上がる バグ修正ってマイナスをゼロにするだけで何

    バグをドラゴンと呼ぶ運用を始めて1ヶ月くらいたった - Konifar's WIP
    Watson
    Watson 2015/05/02
    おもしろい
  • パッチを書いてみよう(第17回Nseg勉強会LT)

    2. 自己紹介 はてな:http://d.hatena.ne.jp/masa141421356 (id:masa141421356) Twitter : @masa141421356 ほぼプログラマ。仕様の打ち合わせから実装まで全部やります。

    パッチを書いてみよう(第17回Nseg勉強会LT)
  • Googleのバグ予測アルゴリズムを実装した「bugspots」のSVN版を作ってみた - 現場のためのソフトウェア開発プロセス - たかのり日記

    先日、Googleのバグ予測アルゴリズムを実装した「bugspots」が公開されました。 ソースコードのなかでバグが多いのは、より高頻度に、かつ最近になって集中的に直している部分。これが、グーグルで採用された「バグ予測アルゴリズム」であることを、先月の記事「グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している」で紹介しました。 そのバグ予測アルゴリズムを実装したツール「bugspots」がオープンソースとして公開されています。 グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開 - Publickey 上記ツールは、Gitのリポジトリで管理されているソースのみが対象となっています。 ただ、OSSの開発ならいざ知らず、実際の開発業務では、まだまだSVNの利用も多いことでしょう。 そこで、SVN(Subversion)のリポジトリで管理さ

    Googleのバグ予測アルゴリズムを実装した「bugspots」のSVN版を作ってみた - 現場のためのソフトウェア開発プロセス - たかのり日記
  • バグから学ぶ計算機科学 Scalaのハッシュテーブルにおいて並列コレクションのためのコード変更が大量の衝突を引き起こした事例

    バグから学ぶ計算機科学 Scalaのハッシュテーブルにおいて並列コレクションのためのコード変更が大量の衝突を引き起こした事例 書いた人: ると 書いた日: 2012年1月21日 はじめに Twitterで「有名なオープンソースソフトで今まであったおもしろいバグを解説したとかないだろうか」とツイートしたらそれなりに需要があるようでした。そこで先ず隗より始めよという故事にのっとり、死馬の骨としてバグ解説記事を書いてみます。 今回のバグはScala 2.9の標準ライブラリに含まれるmutable.HashSet(ハッシュテーブルを使った重複無しコレクション)のコピーがJavaの標準ライブラリに含まれるHashSetの100倍遅いというバグです。並列コレクションのためにぱっと見問題の無い変更を加えたら思わぬところで影響が出たというものです。 なお、今回はScalaに関するバグですが、Scala

  • グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開

    ソースコードのなかでバグが多いのは、より高頻度に、かつ最近になって集中的に直している部分。これが、グーグルで採用された「バグ予測アルゴリズム」であることを、先月の記事「グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している」で紹介しました。 そのバグ予測アルゴリズムを実装したツール「bugspots」がオープンソースとして公開されています。 gitのレポジトリを分析 bugspotsはRubyで記述されており、gitのレポジトリから履歴を読み込んで分析し、どのモジュールにバグが含まれている確率が高いかを示してくれます。 以下のようにインストールして実行(説明ページから引用)。 $> gem install bugspots $> git bugspots /path/to/repo $> git bugspots . # (in current git directory)

    グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開
  • グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している

    グーグルでは、社内のプログラマによって作り出される大量のコードの品質を保つため、チェックイン前にユニットテストとコードレビューが行われているそうです。しかし、コードが大量になってくると、ユニットテストやレビューをすり抜けるバグも少なからず発生します。 そこでコードの品質をさらに高めるために、グーグルでは「バグ予測アルゴリズム」を採用。バグがありそうな部分をレビュアーにアドバイスする仕組みを採用したとのこと。 そのバグ予測アルゴリズムとはどんなものなのか。Google Engineering Toolsブログに投稿されたエントリ「Bug Prediction at Google」(グーグルにおけるバグ予測)で説明されています。 ソースコードの修正履歴を基に予測 コードの中にバグがありそうな箇所を分析する手法としては、「ソフトウェアメトリクス」がよく用いられます。これはコードを静的に分析して、

    グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している
  • 特異なバグ - Wikipedia

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

  • 1