新着情報
採用情報
日本語
|
English
|
中文
ユーザーサポート
資料ダウンロード
お問い合わせ
3つの強み
組み込みソフト開発・検証ツール
Windows開発環境向けユニットテストツール
カバレッジマスターwinAMS
カバレッジマスターwinAMS MBTオプション
Linux開発環境向けユニットテストツール
QTE(Quality Town for Embedded grade)
パフォーマンス検証ツール
PLAS-Qlite
テストデータ生成ツール
PROMPT
C/C++ 組込み用プログラム仕様書作成・解析ツール
Caseplayer2
共有変数自動解析ツール
SharedVariableChecker2
ISO 26262セーフティ&セキュリティ
Safilia(セイフィリア)
Seculia
HighTec社 TriCore/Power Architecture クロスコンパイラ
HighTec社 TriCore 開発プラットフォーム
HighTec社 Power Architecture 開発プラットフォーム
組込みシステム仮想検証環境
シミュレータベーストファミリ仮想検証ツール
実機連携 組込みソフト自動テストシステム
リアルタイムファンクションテスター
モデルガイドラインチェック製品
Model Dr. MDiA
エンジニアリングサービス
MCD -モデル中核開発事業-
MBD Back-to-Backテスト 定着運用サポート
モデルベース開発(MBD+MDD)のプロセス構築とツールの導入支援
IS&S
-サイバーセキュリティ 向け エンジニアリング支援-
ガイオ サイバーセキュリティサービス
(サイバーセキュリティ 現場業務)
ガイオ サイバーセキュリティサービス
(サイバーセキュリティワークパッケージ)
ガイオ サイバーセキュリティサービス
(サイバーセキュリティ 教育支援)
セキュリティ脅威分析支援サービス
セキュリティ検証支援サービス
-機能安全開発効率化支援-
Safilia導入支援サービス
機能安全に対応した派生開発の影響分析サービス
SAQT -先進品質技術ソリューション事業-
テストパートナーSQV
ユニットテスト・オンザトラック
QEMUを使った仮想検証環境構築サービス
SAQT HILSエンジニアリングサービス
HILS テストシナリオ作成及びシナリオ実行自動化サービス
HILS 車両モデル作成サービス
HILS CANモデル作成サービス
リアルタイムハードとSimulinkモデルの割り付けソフト設定サービス
道路、交通流CGの設定・作成サービス
大規模ソフトウェア開発者向けテストツール導入支援
QTE導入支援サービス
GAIO CLUB
導入事例
セミナーイベント
企業情報
ガイオ・テクノロジーの3つの強み
モダン型開発/従来型開発について
組込みソフト開発・検証ツール
Windows開発環境向けユニットテストツール
カバレッジマスターwinAMS
カバレッジマスターwinAMS MBTオプション
Linux開発環境向けユニットテストツール
Quality Town for Embedded grade(QTE)
パフォーマンス検証ツール
PLAS-Qlite
テストデータ生成ツール
PROMPT
C/C++ 組込み用プログラム仕様書作成・
解析ツール
CasePlayer2
共有変数自動解析ツール
SharedVariableChecker2
ISO 26262セーフティ&セキュリティ
Safilia
Seculia
HighTec社 クロスコンパイラ
HighTec社 TriCore 開発プラットフォーム
HighTec社 Power Architecture 開発プラットフォーム
組込みシステム仮想検証環境
シミュレータベーストファミリ仮想検証ツール
実機連携 組込みソフト自動テストシステム
リアルタイムファンクションテスター
モデルガイドラインチェック製品
Model Dr. MDiA
エンジニアリングサービス
MCD -モデル中核開発事業-
リバースモデリング代行サービス
MBD Back-to-Backテスト 定着運用サポート
モデルベース開発(MBD+MDD)のプロセス構築と
ツールの導入支援
IS&S -サイバーセキュリティ 向け エンジニアリング支援-
サイバーセキュリティ 現場業務
サイバーセキュリティワークパッケージ
サイバーセキュリティ 教育支援
セキュリティ脅威分析支援サービス
セキュリティ検証支援サービス
-機能安全開発効率化支援-
Safilia導入支援サービス
機能安全に対応した派生開発の影響分析サービス
SAQT -先進品質技術ソリューション事業-
テストパートナーSQV
ユニットテスト・オンザトラック
SAQT HILSエンジニアリングサービス
HILS テストシナリオ作成及びシナリオ実行自動化サービス
HILS 車両モデル作成サービス
HILS CANモデル作成サービス
リアルタイムハードとSimulinkモデルの割り付けソフト設定サービス
道路、交通流CGの設定・作成サービス
大規模ソフトウェア開発者向けテストツール導入支援
QEMUを使った仮想検証環境構築サービス
企業情報
新着情報
採用情報
導入事例
セミナーイベント
資料ダウンロード
動画一覧
GAIOサイバーチャンネル
GAIO CLUB
お問い合わせ
プライバシーポリシー
情報セキュリティ基本方針
ユーザーサポート
GAIO CLUB
HOME
>
GAIO CLUB
>
フローチャートを利用したレビュー会議でソフトウエア品質を高めよう
2004年05月06日
フローチャートを利用したレビュー会議でソフトウエア品質を高めよう
GAIO CLUB 特集
GAIO CLUB【2004/5月号】製品インフォメーション
ソースコードを解析してフローチャート化
プレビュー会議でソフトウエアの品質向上を目指す
組み込み用CASEツール「CasePlayer2」
目次
ソースコードは個人管理?
ソフトウエアの品質向上のためのプレビュー会議
アルゴリズムを可視化するフローチャート
ガイオのロングセラー製品「CasePlayer2」
プログラムソースを解析して各種仕様書を自動生成
アセンブラや非ANSI仕様の組み込みCにも対応
パラメータファイルで言語拡張
自在なソース/チャートブラウズ機能
最適化されたチャート分割HTML出力もサポート
ソースコードは個人管理?
一般に、組み込みソフトの開発においては、1つの製品のソフトウエアを複数の開発者が分担して開発するケースが多くあります。最近では、ソースコード管理ツールを利用して、ソースを一元管理するプロジェクトも増えつつありますが、関数ロジックの仕様やモジュールの分割単位などのソースコードの中身については、開発者個人の考え方がそのままコーディングされており、他のメンバーがソースコードの構成情報を共有しているとは言い難いのが現状です。
ソースコードの構成情報が共有されないと言うことは、他のメンバーが作った部分の機能の実現方法については分からないと言うことであり、そこに潜在的なバグがある場合に、開発者自身が見つけられなければ、永久に見つからないと言うことも起こりえます。
ソフトウエアの品質向上のためのプレビュー会議
プロジェクトメンバー全員によるソースコードのプレビューが出来れば、開発者自身が発見できなかった不具合を未然に見つけ出す事も可能になります。ただし、プレビューの方法として、ソースコードを1行1行追いかける方法では、効率が非常に悪く時間を要します。
もしも、ソースコードの機能実現方法であるアルゴリズムをチャートなどに可視化できれば、プレビューの効率を格段に上げることが出来るでしょう。
アルゴリズムを可視化するフローチャート
フローチャートは、古くからソフトウエアの処理の流れを計画・設計するために使用されて来ましたが、現在では、ソフトウエアの大規模化やモジュール化が進み、フローチャートをソフト設計に使用することは少なくなりました。しかしながら、フローチャートは、特に条件分岐やループなどのロジックを一目瞭然で把握できるため、既存のソースコードを解析して、ロジックを把握する手段としては、非常に有効です。
プレビュー会議において、その場でソースコードからフローチャートを作ることが出来れば、他のメンバーが設計したソフトウエアの構造を短時間で把握して、システム的な不具合の抽出や、より効率の良いロジックの提案をすることも可能になります。
ガイオのロングセラー製品「CasePlayer2」
「CasePlayer2」は、組み込み開発にフォーカスした、フローチャートなどのプログラム仕様書、自動作成ツールです。アセンブラへの対応や、変換スピードの速さなどで、ご好評頂いており、ガイオのロングセラー製品の1つです。
プログラムソースを解析して各種仕様書を自動生成
CasePlayer2は、C言語ソース、アセンブラソースを解析して、フローチャート、モジュール構造図、構造体仕様、モジュール仕様などのプログラム仕様書を作成するツールです。このツールには、ガイオのベーステクノロジであるコンパイラ技術が使用されています。
他社のチャート生成ツールにありがちな、チャート化のための特別なコメント行の挿入や、特殊なマーキングなどは一切不要で、C言語ソースコード、アセンブラソースコードを解析して、チャート図を生成します。 開発されたソースコードに一切手を加えることなく、そのままフローチャート化することができます。
アセンブラや非ANSI仕様の組み込みCにも対応
「CasePlayer2」は組み込み開発のプログラムに特化されており、数多くのアセンブラや、near、farと言った特殊記憶クラスのような、組み込み特有の方言にも対応しています。
パラメータファイルで言語拡張
これらは、「パラメータファイル」と呼ぶキーワード定義ファイルに記述する仕組みになっており、例えば、マイコン毎に異なる命令語が、条件分岐、無条件ジャンプ、コンペアなどの何の役割にアサインされているかを設定出来るようになっています。
新しい命令語を持つマイコンが出来た場合でも、この定義ファイルさえ作成すれば、どんなアセンブラソースでも、解析しチャート化することが出来るようになります。C言語ソースについても、クロスコンパイラ特有の非ANSIのキーワードにも、同様の方法で対応することができます。
自在なソース/チャートブラウズ機能
CasePlayer2には、ソースコードの管理、チャートの作成、ソース行とチャートの対応など、作業を統合化する専用ブラウザ「Case Viewer」が搭載されています。
プレビュー会議などに置いても、対象のソースコードを登録するだけで、瞬時にチャート化することができます。変換のスピードは、1万行のC言語ソースを、わずか2秒で処理しチャート化する性能を持っています。
最適化されたチャート分割HTML出力もサポート
CasePlayer2には、出力紙面に無駄な空白を作らない、最適化されたフローチャートのレイアウトを作り出す機能があります。この性能は、他社製CASEツールの機能を圧倒しており、出力倍率を変えるだけで、最小枚数の出力レイアウトをその場で作り出すことができます。
また、HTMLフォーマットの出力も可能で、HTMLの基本機能であるハイパーリンクを利用して、フローチャートのボックスから、該当するソースコードの箇所へジャンプするなど、自在な連携が可能です。
関連ページ
Caseplayer2(C/C++ 組込み用プログラム仕様書作成・解析ツール)
ANSI準拠C言語、C++(※C++ 11/14対応)、組み込み向けC言語(非ANSI)を解析して、フローチャートなどのプログラム仕様書を作成するツールです。プログラム開発におけるソースコードレビューの課題を解決します。
今すぐ資料ダウンロード!
前のコラム
コラム一覧に戻る
次のコラム
人気のコラム
OSの無い環境でC言語プログラムを動かすときは、マイコンのメモリを意識する必要があります。今回は、メモリとCソースプログラムの関係についての話です。
複数のタスクが並列動作する場合、競合に注意する必要があります。シングルタスクであっても割り込み処理との競合があります。
本特集では、モデルベース開発開発において、制御仕様として作成したMATLAB/Simulinkモデルからマイコンへ実装するコードを生成した場合に必要となる、モデル/コード間の比較検証と、その方法や課題について解説します。
最新のコラム
Google Test
今回は、g++と関連するコマンドを使用してカバレッジを確認してみます。使用するのは、前回と同じGoogle Mockを使用したC言語プログラムのテスト環境です。
Google Test
Google Mock使用例の最後に、C言語プログラムのテストで使ってみようと思います。前回までに使用したプログラムをC言語に書き換え、Google Mock使ってテストします。
Google Test
前回は、Google Mockで子関数の戻り値をあらかじめ決めた後にテストを実施してみました。Google Mockの感じをつかんだので、今回はGoogle Mockでどんなことができるのか、いくつか見て行こうと思います。
Google Test
Google Mockは、単体テストの対象関数が使用している子関数の代理関数とその関数の振る舞いを定義する環境を提供します。今回は簡単な例を見ながらGoogle Mockの使い方を見てみます。
Google Test
単体テストをする際、対象関数の動作確認のために、その関数が使用する(読む)変数に値を入れておく必要があります。関数の動作結果は前回お話ししたアサーションによって確認しますが、繰り返しテストをする際に異なる値を設定したい時はどうするのでしょうか。また、致命的なエラーが起きた時にテストを中止する方法はあるでしょうか。今回は、Google Testを使ってテストドライバーを書く時の、そんな話です。
技術情報
近年、自動車産業を取り巻く環境は大きく変化しており、100年に1度の大変革時代と言われている。欧米をはじめとして、中国及び日本でも車載ECUの統合化(ADAS Domain Controller, Cockpit Domain Controller等)が進み、2020年頃からSDV化された車両が増えてきている。本寄稿では、車載業界のSDVされたシステムの進化の流れを説明し、SDV化の進展により新たに発生する機能安全対応の課題と対策について、事例を交えて説明する。
Google Test
前回お話ししたように、Google Testはテストドライバーを作る環境を提供しています。今回は、Google Testを使ってテストドライバーをどのように書いて動かすのか、見て行こうと思います。
お問い合わせ・お見積りはこちら
03-4455-4767
[代表]9:00~17:30
(土・日・祝日・年末年始・夏季休暇を除く)