新人技術者のためのロジカル・シンキング入門(1) ―― いかにしてバグの原因を突き止めるか

冴木元

tag: 組み込み

技術解説 2007年12月17日

ここでは,大規模な組み込みシステム開発におけるデバッグの考えかたを解説する.自分が開発に携わっている組み込みシステムでバグが発生したときに重要なのは,「問題の切り分け」である.この切り分けをスムーズに行う方法はある程度パターン化できる.そのパターンを押さえていれば,いろいろなシステムのデバッグに適用できる.  (編集部)

 

技術解説・連載「新人技術者のためのロジカル・シンキング入門」 記事一覧
第1回 いかにしてバグの原因を突き止めるか
第2回 プログラミングにおける良いデータ構造
第3回 「必要とされる設計書」の作り方
第4回 直したバグがゾンビのごとく復活する
第5回 ソース・コード規約の作り方
第6回 ハードウェア基礎の基礎
第7回 「ひたすら流すだけのテスト」にさよなら
第8回 CPUの演算量をひたすら削る
第9回 メモリ転送速度の最適化設計
第10回 「工学の知」を実務に生かす


●お知らせ
 本連載記事を元に加筆・再編集した書籍『組み込みエンジニアのためのロジカル・シンキング入門』が好評発売中!

 

 Aさんは,とあるメーカの研究所で生体認証にかかわる認識アルゴリズムの研究開発に携わっています.

● ある日突然システムがハングアップ! さてどうする?

 Aさんらは虹彩(瞳孔の周りの輪状の膜)を使った生体認証アルゴリズムを開発しました.この方法は,従来のものと比べて認識の誤差が格段に小さいという特徴を持っているため,商品化には社内でも大きな期待がかけられていました.

 このアルゴリズムは,人の出入りをチェックする認証装置に採用されることになっています.施設を利用する人はあらかじめ虹彩のパターンを登録しておきます.施設に入るときには虹彩を小さなカメラに映し,登録済みのパターンと一致していれば入場できる,というものです.

 開発も終盤にさしかかったとき,異変が起きました.テスト中の認証装置がときどきハングアップしてしまい,電源をいったん落とさないと元に戻らないというのです.認識モジュールの実装にもかかわってきたAさんにも,当然火の粉が降りかかってきました.Aさんはどのようにして問題の切り分けを進めるべきでしょうか?

  1. 現象を再現させる
  2. 全体で100%になるイメージを描く
  3. YESかNOかで答えが出る設問を積み重ねる
  4. 自分のブロックが原因かどうかを判定
  5. あらかじめ切り分けの手段を整理する
  6. 【コラム】ロジカル・シンキングとは何か
組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日