デバッギング・ミステリー

ソフトウェアとデジタル信号処理 : コラム - 技術・開発の閑話【02】
技術開発 ソフトウェア開発コラム
DSPボード/基板設計パターン image 映像と振動信号の製作イメージ CPU組込みソフト、ソフトウェア制御 アナログ回路と音声信号イメージ FPGA VHDLロジック設計イメージ

音響技術とソフトウェア、ハードウェア開発

音響と開発 : Sound & Development
株式会社エーアールアイ / ARI
ARI CO.,LTD.
ソフトウェア開発

デバッギング・ミステリー

コラム:技術・開発の閑話【02】
02

このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。

デバッグ効率の重要性

ハードウェアでも、ソフトウェア、ファームウェアでも、おおよそ技術者にとってデバッグ作業は簡単なものではありませんし、設計とならんで、重要な開発過程です。

一般のソフトウェア開発の工数などについて語られる時、大体2つのことに集約されていると言えると思います。

  1. 開発工数の多くの影響はデバッグ作業が多大な影響を与える。
  2. 設計時点でのレベルが、デバッグ工数に多大な影響となる。

流行のXP手法などでも、設計手法やテスト手法に対する開発手法をグループ化し、設計段階からの精度を高めることや、開発管理することが重要なポイントになっていて、テストやデバッグの効率が改善されることが主張されているように、デバッグは、開発作業の重要課題です。

作業者による効率の差

デバッグ作業は、人の能力差が極端に出る作業工程であると感じています。また、デバッグ作業の能力差は、手法管理だけでは、克服できないのではないかと感じています(ある程度の初歩的な差は埋めることはできそうですが)

デバッグという作業は、原因を突き止めることと、改善のための分析が主な作業となります。オシロスコープ、ICE(インサーキットエミュレータ−)、デバッガなどの開発ツールや測定器などで、直接的な原因となる因子を見つけることが容易な場合には、それほどでもありませんが、リアルタイムでマルチタスクだからこそ起こる障害や、原因の直接的な現象が見れない場合には、原因を推測、仮定して考える能力が必要となります。

機器組込みのデバッグ

DSPやデジタル機器を開発する場合には、ハードウェア・デバッグといえども、CPUやDSPのデバッグ用コードがないと基本的な現象確認すらおぼつかない場合があります。

ハードウェアの設計者がDSPコードを書かなければいけないわけではありませんが、ソフトウェアによって制御されているIC(デジタルのカスタムチップなど)やCPU、DSPがどのように動作しているかや、テストや対策確認のためにどのように制御することが必要かなどの知識がないと、ソフトウェア担当者のハードウェア知識が高くないと障害を克服するのに時間を要します。

DSPの開発などですと、ICEがなかったり、デバッガではデバッグできない場合などもありますし、マルチチップ構成の機器などになると、複数のCPUやDSPが同時に動作していますから、開発ツールを使う技能だけでは、デバッグ作業はできません。

犯人探しと推理

デバッグ作業は、大半が原因を突き止めること(犯人探し)だといわれるように、証拠(現象、症状、もしくは、設計書やソースコード)から、犯人を推理(または仮定)してロジカルに謎解きを行うミステリー小説の探偵のようだと感じます。

再現性の低い不具合を追及する場合など、その障害がどのようにして発生するのかを開発ツールなどで調べるばかりでなく、推理するように考察することで解決することが多いと思います。

この仮定(推理)が正しく、原因を見つけた時は、結構うれしかったりしますし、作業中は、憂鬱な問題であっても解決できた時は、ミステリーの難事件を解決したような気分になります。

仮定や推理の能力と、現象や症状が何を表しているかを見抜く能力、消去法などで、原因と考えた仮説を消去して行き、本当の原因を特定できる能力などが要求されるため、人による差が大きくなるのだと思いますし、この差は開発手法だけでは完全に埋めることができないかもしれません。

デバッグのこの探偵能力の差を埋める開発手法が提案されるとよいのですが……

開発実績と事例 ソフトウェア・ファームウェア
CPU/DSP

ARIはハードウェア設計、製造、ファームウェア開発、 Windowsアプリケーションの開発をしています。 実績等に興味をお持ちいただけましたら、会社情報に主な開発実績を 「音響と開発」のコーナーには事例など関連情報を掲載していますのでご覧ください。

ソフトウェア開発コラム : 技術・開発の閑話

ソフトウェア開発と開発ツール関連の雑記

機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムです。 メールマガジン「アメニティ&サウンド 音と快適の空間へ」に連載していた技術・開発コラムを編集掲載しています。

技術・開発の閑話 :ソフト開発コラム

技術・開発の閑話 : ソフト開発コラム

01ファームウェア(組込み)開発の技術
コラム:技術・開発の閑話【01】
02デバッギング・ミステリー
コラム:技術・開発の閑話【02】

開発ツールの話 : ソフト開発コラム

01ソフトウェアの分類
コラム:開発ツールの話【01】
02CPUとDSPのアーキテクチャの違い
コラム:開発ツールの話【02】

プロジェクト初期 ツール評価 : ソフト開発ツールの話

01プロジェクト初期のツール評価
プロジェクト初期のツール評価【01】
02プログラムの動作・ソースの作成
プロジェクト初期のツール評価【02】
03コード生成 アセンブラ、コンパイラ
プロジェクト初期のツール評価【03】
04型変換を伴う式評価(コード生成)
プロジェクト初期のツール評価【04】
05暗黙のライブラリ(コンパイラ生成コード)
プロジェクト初期のツール評価【05】
06組込みCPUのメモリアクセス1
プロジェクト初期のツール評価【06】
07組込みCPUのメモリアクセス2
プロジェクト初期のツール評価【07】
08組込みCPUのメモリアクセス3
プロジェクト初期のツール評価【08】
09コード生成〜デバッガ
プロジェクト初期のツール評価【09】

デバッガとICE ツール評価2 : ソフト開発ツールの話

01CPU,DSPの内部の状態モニター
コラム : デバッガとICE【01】
02プロセッサ周辺のモニター(メモリ、I/O)
コラム : デバッガとICE【02】
03実行の停止(ブレーク機能)
コラム : デバッガとICE【03】
04シングルステップ実行
コラム : デバッガとICE【04】
05任意部分の実行(および再実行)
コラム : デバッガとICE【05】
06ヒストリー - 実行トレースとコマンド
コラム : デバッガとICE【06】
07各種ファイルのロード、セーブ
コラム : デバッガとICE【07】
08シンボル化(読み込み、設定、編集)
コラム : デバッガとICE【08】

技術・開発の閑話 -2-

ソフト、ハードウェア 技術関連の雑記

このコラムは無料メールマガジン「アメニティ&サウンド 音と快適の空間へ」 vol.36〜vol.64(2003年8/21〜2004年11/18)に 音響と開発の関連コラムとして連載していたものを編集掲載したものです。

技術・開発の閑話 -2- :技術開発コラム

技術・開発の閑話-2- vol.11〜20

F1とコンピュータ技術 / ソフトウェアの標準と部品化 ( 戦術と戦略の誤解 / アジャイル開発 / リファクタリング / 遺産と再生産 / 標準と生産管理 ほか)


技術・開発の閑話-2- vol.01〜10

「ありえない」フェイルセーフと安全機能の連鎖 / HDD容量の差(天使の分け前) / リアルタイムとベストエフォート / エラーとコスト(ブルースクリーン/XP) / NDAと情報公開 / 専門ドメインの基礎範囲 / NHK技研公開(超高精細映像システム)

≪ 技術・開発の閑話 :技術・開発コラム ≫
3GPP対応 携帯電話開発用音響測定システム
TS 26.131/ 26.132 V5.0に準拠、ITU-T P.50とP501の試験信号、Windows Vista、Windows XP 3GPP対応 携帯電話開発用オーディオアナライザー MTA-02WB-S

《 デバッギング・ミステリー 犯人探しと推理: コラム - ソフトウェアとデジタル信号処理(DSP) 》

株式会社エーアールアイ/ARI CO.,LTD.
東京都八王子市横山町6丁目9番 丸多屋ビル8F
tel:042-656-2771 fax:042-656-2654

エーアールアイはPCアプリケーション、デジタル機器の組込み(CPU)、信号処理(DSP)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。

エーアールアイ会社情報
製品情報と販売
音響と開発・サービス
音響機器メーカーと代理店

ご利用案内 | 免責事項 | ARI 音響と開発のサイトマップ | 株式会社エーアールアイ | 東京都八王子市横山町6丁目9番 丸多屋ビル8F

Copyright(c) 2001-2017 ARI Co.,Ltd. all rights reserved.