pgrelief c/c++ 2014 - fujitsu...misra-c:1998 127 個中 120 個のルール misra-c:2004 141...

6
FUJITSU Software PGRelief C/C++ 問題箇所を洗い出す静的解析ツール C/C++言語のソースプログラムに潜む ピージーリリーフ ソフトウェアの品質と開発効率の向上を同時に実現します。 PGReliefは国内で開発・サポートを実施。安心してお使いいただく環境をご提供します。 ISO 26262のツール認証を取得

Upload: others

Post on 22-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PGRelief C/C++ 2014 - Fujitsu...MISRA-C:1998 127 個中 120 個のルール MISRA-C:2004 141 個中 131 個のルール MISRA-C:2012 143 個中 120 個のルール MISRA-C++:2008

FUJITSU Software PGRelief C/C++ 問題箇所を洗い出す静的解析ツールC/C++言語のソースプログラムに潜む

ピージーリリーフ

ソフトウェアの品質と開発効率の向上を同時に実現します。

PGReliefは国内で開発・サポートを実施。安心してお使いいただく環境をご提供します。

ISO 26262のツール認証を取得

Page 2: PGRelief C/C++ 2014 - Fujitsu...MISRA-C:1998 127 個中 120 個のルール MISRA-C:2004 141 個中 131 個のルール MISRA-C:2012 143 個中 120 個のルール MISRA-C++:2008

6時18時

動作テスト

レビュー

複数のチェックで品質アップ

PGRelief(総チェック数 654個)

548548

PGRelief独自のノウハウ

SECコーディング作法適合評価

MISRAガイドライン適合評価

ソースコードにはバグがたくさん

PGReliefの利点 複数のチェックによりソフトウェア品質が向上2PGRelief独自のノウハウだけでなく、SECコーディング作法やMISRAガイドラインへの適合性チェックも行います。 様々な観点から網羅的にプログラム欠陥を検出し、ソフトウェア品質の向上を実現します。

PGReliefの利点 ISO 26262認証取得に貢献3PGReliefは、ISO 26262で求められる最も厳しい安全度水準であるASIL-D(Automotive Safety Integrity Level –D)に対応したソフトウェアツールであることが確認され認証を取得しました。これにより、お客様の機能安全に向けたソフトウェア開発およびISO 26262認証取得に貢献します。

連携部の検証

コーディング レビュー 単体テスト 結合テスト 出荷検査

●信頼性の向上 ●移植性の向上 ●保守性の向上 工数削減 品質向上

効果的なレビュー

手戻りの少ないテスト作業

効果1

適用1

適用2

効果2

コーディング工程で徹底的にブラッシュアップPGReliefの利点 1従来、テスト工程でしか検出できなかった障害もコーディング工程で検出できるため、手戻りが少なく、動作テストの工数削減に繋がります。問題箇所をピンポイントに指摘するため、開発者に負担をかけることなく、時間とコストの効率化を実現します。また、結合テストの工程でソースプログラムの連携部分を検証することにより、さらなる品質向上を実現します。

ソフトウェア開発における品質向上・期間の短縮・コスト削減への要求は、年々厳しさを増しています。 こうした問題の解決には、コーディング工程で徹底的にソースプログラムの品質を高めることが近道です。PGReliefには、十数年の開発で培われた独自のノウハウがあります。それを元に作成された複数のチェック観点でソースプログラムを静的解析し、ソースプログラムの欠陥を的確に指摘します。プロジェクト管理者、開発担当者、品質管理者、それぞれの部門で品質と効率を高めます。

高機能ソフトウェアの品質向上と短期開発を同時に実現します。

JQA-KC12001

PGRelief C/C++

Page 3: PGRelief C/C++ 2014 - Fujitsu...MISRA-C:1998 127 個中 120 個のルール MISRA-C:2004 141 個中 131 個のルール MISRA-C:2012 143 個中 120 個のルール MISRA-C++:2008

独立行政法人情報処理推進機構ソフトウェア・エンジニアリングセンターで作成されたコーディング作法ガイドに沿って記述されているかどうかをチェックし、違反箇所を指摘します。

ISO 26262で要求されている組織で定めた設計規則を判断するためのコーディング規約(Part6-5)および不具合の混入を防止するためのコーディング規約(Part6-8)の検証に活用できます。

● 富士通の開発で培った指摘観点

<仕様>チェック数

● MISRA 適合性評価(オプション)MISRA ガイドラインに沿って記述されているかどうかをチェックし、違反箇所を指摘します。

● IPA/SEC コーディング作法適合性評価

ESCR C : 129 個中 114 個のルール コーディングミスの例 20 個中 18 個ESCR C++ : 167 個中 130 個のルール

● 組込みソフトウェア開発で利用されているコーディング規約の検証

● 複数プログラム間の問題検出 (広域探索オプション)

● コンパイラ実行環境は不要

● ISO 26262コーディング規約適合性の検証

● 検証作業を効率化する検証ビューア ● 修正をアドバイスする指摘メッセージ詳細

ソースコードの品質向上を実現(基本機能)独自のノウハウとコーディング規約との複数チェックを行い、プログラムの欠陥を検出します。また、検証作業を支援する機能が充実しており、効率よく検証できます。

指摘種別や指摘メッセージごとのフィルタリングにより、 着目したいメッセージのみを表示することで、効率よく検証作業ができます。

指摘メッセージ毎に対処方法や修正例をご覧いただけます。指摘メッセージへの理解が深まり、迅速な修正とプログラミングスキルの向上が図れます。

コンパイラを実行する環境がなくても、解析対象の資産とコンパイラのヘッダがあれば、利用することができます。

● 豊富なコンパイラ対応国内外で使用されているほとんどのコンパイラに対応しています。

複数の開発者で開発したソースプログラムを解析し、メモリ操作の誤りや開発者間での思い込みによる誤りを検出します。

ソースプログラムを結合し、関数間での解析を行います。“担当者任せ”から、プログラム連携部分の品質を徹底検証します。

<仕様>チェック数●

MISRA-C:1998 127 個中 120 個のルールMISRA-C:2004 141 個中 131 個のルールMISRA-C:2012 143 個中 120 個のルールMISRA-C++:2008 228 個中 164 個のルール

開 始

終 了

解析準備1

解析実行

3 検 証

2

プログラム修正

問題なし

問題あり

指摘種別

障害の可能性 領域外アクセス、NULL参照となる記述153 139

C 指摘数

C++ 指摘数 主な指摘観点

(※)

保守性・移植性の向上

特殊な記述、紛らわしい記述341 304

堅牢性の向上 関数実行後の未チェックな引数20 20

効率性の向上 構造体渡しの引数、未更新の変数5 8

命名規約違反 命名規約違反の記述5 5

その他 コンパイルエラーとなる記述42 46

プログラム連携部分を検証

開発者A解析ルート

開発者Bバグ

表面化箇所

ソースプログラムソースプログラム

原因箇所

※複数の関数にまたがった問題検出には、広域探索オプションが必要になります。

Page 4: PGRelief C/C++ 2014 - Fujitsu...MISRA-C:1998 127 個中 120 個のルール MISRA-C:2004 141 個中 131 個のルール MISRA-C:2012 143 個中 120 個のルール MISRA-C++:2008

診断レポート

納品

対処指示

6時18時

● 安価でコマンド実行も可能なノードロックライセンス

● 複数の事業所で共有可能なフローティングライセンス

● 委託先との解析結果 (CSV・診断レポート)の共有が可能

効率的に使用できるライセンス形態お客様の開発体制やご予算に合ったライセインスを提供しております。

開発体制に合ったソースコード品質チェックを実現社内開発や委託開発(ソフトハウス・オフショア)等の開発体制に合ったソースコードのチェックを行い、品質向上を実現します。

ライセンスサーバ

委託先

発注元A事業所 B事業所

品質管理部門での運用

品質管理者がPGReliefを使用し開発者が作成したソースコードをチェックし、結果を返す運用方法です。開発者の作業は結果のチェックだけなので、開発者に負担がかかりません。また、PGReliefはコンパイラの実行環境が不要なため、開発者の環境を品質管理部門で用意する必要はありません。

解析結果解析結果

開発プロジェクトでの運用

開発者がコーディングしながらPGReliefを使用する運用方法です。コーディングとソースコードのチェックを並行して行うため、効率よくソースコードのチェックができます。

開発者

PGRelief実行検証/ソース修正

PGRelief実行検証/ソース修正

委託開発での運用

発注元 委託先

委託先でPGReliefを使用し、ソースコードと一緒に診断レポート(チェック結果)を納品する運用方法です。発注元はソースコードの品質を簡単かつ客観的に把握し、品質改善へ的確な対処ができます。

オフショア開発での運用

オフショア先

発注元

解析結果

オフショア先でPGReliefを使用し、その品質状況を品質監視オプションを使用して監視する運用方法です。ソースコードのチェック状況を監視し、問題となる開発プロジェクトを早期に検出することができます。

品質状況の監視

開発者

品質管理者

ソース提供

PGRelief実行

解析結果返信

検証/ソース修正

検証/ソース修正

その他、1ライセンスでC言語、C++言語の両方のプログラムのチェックができます。また、1ライセンスのMISRAオプションですべてのMISRAバージョンのチェックができます。

PGRelief実行 (品質監視オプション利用)

Page 5: PGRelief C/C++ 2014 - Fujitsu...MISRA-C:1998 127 個中 120 個のルール MISRA-C:2004 141 個中 131 個のルール MISRA-C:2012 143 個中 120 個のルール MISRA-C++:2008

「見える化」で品質管理の底上げを実現(品質監視オプション)PGReliefによるソースコードチェックのプロセスを監視し、ソースコード品質の確保が図れます。

資産解析と品質データ収集を分けて実施できるようになりました。これにより、大規模資産に対する資産解析を並列実行することができ、資産解析から品質データ収集までのトータル時間を短縮できます。

大規模資産を集約解析

運用イメージ

ソースコードの品質状況確認(品質管理者向け機能)

日・週・月毎にプロジェクト単位のソースコードの品質状況から、ソースコードチェックのプロセスが行われていることを監視します。

開発者は作成したソースコードをサーバにアップし、品質監視者は一定の評価基準に従って一括解析。 品質状況を可視化し、問題箇所を一目で把握できるようになります。

解析結果のチェック(開発者向け機能)

検出した指摘は、「未対処」「修正済」 「修正不要」に分類して表示されます。

開発者

構成管理ツール 品質管理者

ソース集約サーバ

プロジェクトリーダー

12時

6時6時18時18時

0時

ソースコード

修正・開発

一括解析

HTML出力

集約解析の運用も可能

ソース集約サーバ

CPU1 CPU2 CPUn

…C/C++解析

SEC解析

J解析

コーディング

コーディング

解析

解析

検証検

活用シーン

問題箇所の分析(診断レポート機能)個々のソースコードのチェック結果をプロジェクトや機能単位でまとめ上げ、全体品質をレポートとして生成します。レポートされる問題箇所とその改善方法より品質監査が確実に行え、的確かつ効果的な対策が行えます。

レビュー/納品時の資料として検証状況とルール適用状況をレポートします。コーディング規約通りに全て検証されていることが明確になります。

テスト時の分析資料として品質特性や問題特性の観点で、ソースコード上の問題点をレポートします。優先的に対処すべき問題や箇所が明確になります。

コーディング時の進捗資料としてソースメトリクスと指摘の相関関係をレポートします。 ステップ数では判断できない品質/構造的な問題が明確になります。

製品検査単体/結合テスト

開発者/委託先

レビューコーディング

品質管理者/発注元

PGRelief実行対処指示

進捗資料品質分析資料 納品資料

レビュー資料

Page 6: PGRelief C/C++ 2014 - Fujitsu...MISRA-C:1998 127 個中 120 個のルール MISRA-C:2004 141 個中 131 個のルール MISRA-C:2012 143 個中 120 個のルール MISRA-C++:2008

F013-1405-01

 ※ Microsoft、Windows、Windows Server、Windows Vista、Internet Explorerは、米国およびその他の国における 米国Microsoft Corp. の登録商標です。 ※ MISRA とそのロゴは、MISRA コンソーシアムを代表して MIRA Ltd. の登録商標です。 ※ Red Hat は米国およびその他の国でRed Hat,Inc. の登録商標もしくは商標です。 ※ Linux はLinus Torvalds の商標です。 ※ SOFTUNEは、富士通セミコンダクター株式会社の登録商標です。 ※ Oracle,Java,JDKはOracle Corporation及びその子会社、関連会社の米国   及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 ※ Interstageは、富士通株式会社の登録商標です。 ※ 記載されている会社名および製品名称は各社の商標または登録商標です。

※ 本資料に記載されているシステム名、製品名等には必ずしも商標表示(®、™)を付記していません。※ このパンフレットに掲載されている内容については、改善などのため予告なしに変更することがありますので ご了承下さい。※ PGReliefはソフトウェアツールとしてISO 26262 規格の認証を取得しました。

体験版や導入事例などのさらに詳しい情報をWeb上で公開しています。または、http://jp.fujitsu.com/fst/services/pgr/でぜひご覧ください。検索ピージーリリーフ

Java®言語用の静的解析ツール 「PGRelief J」もご用意しています。

商品名 備考■

商品名 備考■標準パッケージPGRelief C/C++ の商品体系

フローティング基本ライセンスフローティング追加1ライセンスノードロックライセンス

同一ネットワーク内のパソコンであれば、何台でもインストールが可能フローティングライセンス追加時に購入インストールした1台のPCでのみ利用可

オプション

商品名 備考アップグレード&サポートサービス

MISRA オプション(フローティング用)MISRA オプション(ノードロック用)品質監視オプション広域探索オプション

ライセンスサーバごとに購入3ライセンスまで利用申請可フローティング基本ライセンス必須フローティング基本ライセンス必須(解析対象は、Cプログラムのみ)

サービス内容・アップグレード版の提供・メールでのインシデント受付と回答

※フローティングライセンスとは、同時起動可能なライセンス数を示します。1ライセンスで解析は1つまで、GUIは3つまで起動できます。※商品をご利用いただくためには、商品到着後、当社へのライセンス利用申請が必要です。※標準パッケージおよびオプション商品の保守サポートについては、アップグレード&サポートサービスの契約が必要です。

フローティング用ノードロック用MISRAオプション用品質監視オプション用広域探索オプション用

PGRelief C/C++ の動作環境

CPU

※英語環境でも利用できます。また各種説明書の英文ドキュメントもご用意しております。 ※仮想化環境/クラウド環境ではご利用できません。(注1):64ビット版のWindows 7、Windows 8、Windows 8.1、Windows Server 2008 R2、Windows Server 2012およびWindows Server 2012 R2上では、32ビットアプリケーションとして動作します。ただし、解析コマンドのみ64ビットアプリケーションとして動作させることができます。また、オプション製品の動作OSは、標準パッケージに準じます。(注2):GUIでの解析はできません。(注3):32ビット版のMicrosoft Excelが必要です。

項目 必要条件Intel® Pentium® 4 2.4GHz以上(推奨)

メモリ 512MB 以上(1GB 以上を推奨。広域探索オプションを使用する場合は2GB 以上を推奨)

ハードディスク インストールに必要な容量

解析に必要な容量

ノードロック版

フローティング版

Cプログラム

C++プログラム

ライセンスサーバ

100MB

CPU 1ファイルあたり3MB、オプション製品使用時は+1MB(目安値)

動作OS

解析対象

クライアント

Webブラウザ

1ファイルあたり15MB、オプション製品使用時は+1MB(目安値)

Windows Vista® / Windows® 7(注1) / Windows® 8(注1) / Windows® 8.1(注1)

Windows Vista® / Windows® 7(注1) / Windows® 8(注1) / Windows® 8.1(注1)Microsoft® Windows Server® 2003 / Windows Server® 2008 R2(注1) / Windows Server® 2012(注1) / Windows Server® 2012 R2(注1) Red Hat® Enterprise Linux® 5 / Red Hat® Enterprise Linux® 6

Windows Vista® / Windows® 7(注1) / Windows® 8(注1) / Windows® 8.1(注1)Microsoft® Windows Server® 2003(注2) / Windows Server® 2008 R2(注1)(注2) /Windows Server® 2012(注1)(注2) / Windows Server® 2012 R2(注1)(注2) Red Hat® Enterprise Linux® 5(x86)(注2) / Red Hat® Enterprise Linux® 6(x86)(注2)

ANSI規格(ISO/IEC 9899:1990)/(ISO/IEC 9899:1999)に準拠したCプログラムANSI規格(ISO/IEC 14882:1998)/(ISO/IEC 14882:2003)に準拠したC++プログラムただし、広域探索オプションの解析対象は、C プログラムのみとなります。

Microsoft® Internet Explorer® 6.0 以降(品質監視オプション利用時)

必須ソフトウェア Microsoft® Excel® 2010 / Microsoft® Excel® 2013(注3)(診断レポート生成ツール利用時)

JQA-KC12001

インフォメーションセンター 0120-052-070http://jp.fujitsu.com/fst/

平日9時~12時、13時~17時受付