組み込みエンジニアの現場力養成ドリル(4)

図書館「蔵書分類」のバグ(1/2 ページ)

今回は図書館でおなじみ「本の分類」を取り上げます。情報処理系の本は007(情報学、情報科学)に547(通信工学・電気通信)、548(情報工学)とバラバラに分類されていますが、この分類を「仕様書」と考え、その問題解決に取り組んでみましょう。

前回のバグのバグ

 今回、バグを見つける問題を出題する前に、「前回のバグ」にバグがあったことをおわびします。

 前回は『将棋の名人位挑戦規定のバグ』と題し、2017年6月から2018年3月まで行われた第76期名人戦の順位戦に潜むバグを取り上げました。

 第76期は三浦弘行九段の冤罪事件の救済措置として、三浦九段がA級の11位となったため、A級には通常より1人多い11人が在籍することになり、いろいろな箇所で「例外」や「異常事態」が発生しました。最大の異常事態(というより「珍事」と表現した方がいいでしょう)は、最高成績の6勝4敗が6人もいたことです。結局、パラマス方式による6人プレーオフの結果、羽生善治竜王が佐藤天彦名人への挑戦者となりました。

 前回の問題では、この第76期の「11人によるA級棋士の総当たり戦」を題材に、名人位挑戦規定に潜むバグをみなさんに見つけてもらいました。私が想定した名人位挑戦規定のバグは、「第76期は1人多い11人で争われる。このため、全員が5勝5敗になると、順位が下位の3人は最終戦が終了した即日、B級1組へ降級する。一方、後日、名人への挑戦者決定のプレーオフで、下位3人の誰かが勝ち上がって挑戦者になり、さらに数カ月後の名人戦七番勝負に勝つと、『B級1組在籍者が名人』になる。これは、『(名人を決めるための)順位戦』の趣旨に反し、矛盾する」で、「一種の仕様書のバグである」と書きました。実は、私のこの「バグ判定」にバグがありました。

 読者の方から、次のような指摘をいただきました。

『将棋「名人位」挑戦規定のバグ』で、第76期名人戦に限らず、通常のA級10人の総当たり戦でもバグがあると思いました。9人が5勝4敗、1人が0勝9敗のとき、0勝の1人はB級1組への級降格として、もう1人のB級1組降格者は5勝の9人の中で最下位の順位者になります。この人がプレーオフと名人戦の末に名人になる可能性が残っています。

 確かに、ご指摘の通りです。第76期の「A級棋士が11人」の場合の特殊な状況でのバグではなく、「いつものA級10人」でも起こりうるバグでした。ご指摘に感謝するとともに、「バグのバグ」のおわびを申し上げます。前々回の『どんな三角形かな』でも、読者の方から私のバグの指摘をいただき、これで2連敗となり、お恥ずかしい限りです。

 恥は恥として、バグを見つけたら、なぜ、私がそんなバグを作り込んだかを分析せねばなりません。実は、三浦九段の冤罪事件の1年前、私が新幹線で大阪から東京へ向かう時、京都駅で巨体の三浦九段がはかま姿で乗車し、私の斜め前へ座ったのです。私は、「おぉ、三浦九段だ、『武蔵(たけぞうと読む)』の異名通り、男らしくてストイックで凛としてるなぁ」と、静かに駅弁を食っている三浦九段に感動しました。

 三浦九段の出身地と現住所が、私の配偶者と同じ群馬県高崎市であること、将棋ソフト不正使用疑惑が報じられた時、「あのストイックな三浦九段がそんなことをする訳がない」と信じており、のちの疑惑調査委員会で無実が認定されて非常にうれしかったことなど、三浦九段に感情面で大きく肩入れしていました。その結果、「第76期順位戦のA級は、三浦九段、プラス、10人だ。11人なら全員が5勝5敗になる可能性がある」と三浦九段を中心に考え、いつもの10人体制のA級戦に考えが及びませんでした。やはり、恐るべきは「思い込み」。論理性が特に求められるソフトウェアの設計で、感情を入れてはならないと猛省しています。

印刷する
SNSでシェア

組み込みエンジニアの現場力養成ドリル

このコラムでは、組み込みエンジニアが日々の開発で実際に遭遇する「小さなトラブルを」取り上げ、演習形式で解説します。

この連載の記事をもっと見る

この記事の著者

山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)
山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)

1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。 主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。

新着ホワイトペーパー PR

関連記事

こんなメディアも見られています

TechFactoryに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。

無料会員登録
最新情報をいち早くチェック!

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます(メディアごとに文章は変更)

いますぐ無料会員登録

特集

ホワイトペーパーランキング PR

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

TechFactory SNS

X @techfactory_itmをフォロー

インフォメーション

TechFactoryをフォロー