PGRelief C/C autumn 強化ポイント説明書

Similar documents
PGRelief C/C++ 強化ポイント説明書

Microsoft PowerPoint - 09.pptx

COBOL EE開発環境 ご紹介資料

作成日 :2017/03/29 ******************************************************************************* ** ** ** FUJITSU Cloud Service K5 ** ** ** ** ソフトウェアカフ

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

インテル(R) Visual Fortran コンパイラ 10.0

Systemwalker Network Assist V10.0/V11.0L10/11.0

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法

ネットワーク構成情報ファイル 作成ツール

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

リリース情報

Microsoft PowerPoint - 計算機言語 第7回.ppt

説明書

Microsoft Word - Training10_プリプロセッサ.docx

トラブルシューティング集

FUJITSU Software Systemwalker for Oracle V15 (15.1) 紹介資料

プログラミング実習I

セットアップカード

iStorage ソフトウェア VMware vCenter Plug-in インストールガイド


(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

Server Core適用ガイド

もくじ Linux サブスクリプションサービスとは... 2 Linux サブスクリプションサービス概略仕様... 3 Linux サブスクリプションサービスのライセンス... 4 本書の内容に関しては将来予告なしに変更することがあります MAGNIA は東芝デジタルソリューションズ株式会社の登録商

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

CLUSTERPRO MC StorageSaver 2.2 for Linux リリースメモ 2017(Apr) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

Microsoft Windows Windows Server Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Oracle と Java は Oracle Corporation 及びその子会社 関

BIP Smart サンプル説明書

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

BIP Smart FAQ

CLUSTERPRO MC StorageSaver 1.1 for Linux リリースメモ 2015(Jun) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

Prog1_10th

講習No.12

Microsoft PowerPoint - A3② JaSST_MISRA2004ソースコード品質診断.ppt

プログラミング基礎

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 7編)

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 6編)

PowerPoint プレゼンテーション

Source Insight

PowerPoint プレゼンテーション

BIP Smart サンプル説明書

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

コードテンプレートフレームワーク 機能ガイド 基礎編

ServerViewのWebアクセス制限方法

JRE/Webブラウザサポート情報

BIP Smart FAQ

McAfee Application Control ご紹介

CLUSTERPRO SSS 動作環境編

NetworkVantage 9

JDK のインストール (2012 年 8 月時点でのバージョン ) Java の実行環境 開発環境は さまざまな企業 団体が開発 配布を行っているが 当テキストでは Java の生みの親である Sun MicroSystems 社 ( 現 Oracle 社 ) の実行環境 開発環境を使用する Ja

"ソフトウェア カフェテリアサービス向けソフトウェア説明書

CLUSTERPRO MC RootDiskMonitor 2.3 for Linux HW-RAID 監視機能 リリースメモ 2018(Jun) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル

"ソフトウェア カフェテリアサービス向けソフトウェア説明書

出力可能なバーコードの種類 出力可能なバーコードの種類各バーコードはそれぞれのバーコードの仕様に準拠します バーコードの種類 PDF417 MICROPDF417 対応バーコードの名称 PDF417 マイクロ PDF417 操作例 PDF417 商品コードの内容を PDF417 にする 作成された

目次 1 はじめに 本文書の概要 PVF ソフトウェアと VISUAL STUDIO PVF ソフトウェアの種類 MICROSOFT VISUAL STUDIO の日本語化について VISUAL STUDIO

intra-mart EX申請システム version.7.2 事前チェック

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

Linux修正適用手順書

PowerPoint プレゼンテーション


CLUSTERPRO MC RootDiskMonitor 2.3 for Linux リリースメモ 2018(Jun) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル

intra-mart EX申請システム version.5.3 PDFオプション リリースノート

生成された C コードの理解 コメント元になった MATLAB コードを C コード内にコメントとして追加しておくと その C コードの由来をより簡単に理解できることがよくありま [ 詳細設定 ] [ コード外観 ] を選択 C コードのカスタマイズ より効率的な C コードを生成するベストプラクテ

NEC Express5800 シリーズ COBOL Media V1 セットアップカード SL438730B01-2

LSI MegaRAID SAS Device Driver Installation Guide - 日本語

PowerPoint プレゼンテーション

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

Veritas System Recovery 16 Management Solution Readme

作業環境カスタマイズ 機能ガイド(応用編)

CLUSTERPRO MC RootDiskMonitor 1.1 for Linux リリースメモ 2013(Sep) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

Python によるジオプロセシング スクリプト入門

メニュー 設定画面 出力可能なバーコードの種類 出力可能なバーコードの種類各バーコードはそれぞれのバーコードの仕様に準拠します バーコードの種類 対応バーコードの名称 備考 RSS-14_STANDARD GS1 DataBar Omnidirectional (RSS-14) RSS-14_TRU

BOM for Windows Ver

Agenda 1. 今回のバージョンアップについて a. バージョンアップ概要 b. バージョンアップ目的 c. 新バージョンのシステム要件に関する注意事項 d. 現行バージョンのサポート期間 2. 対応プラットフォームの追加 3. 新機能の追加および機能強化 2

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

KSforWindowsServerのご紹介

譲渡人複数証明データコンバータ操作説明書 平成 26 年 6 月

NEC Express5800 シリーズ COBOL Enterprise Edition クライアントライセンス V1 COBOL Enterprise Edition クライアントライセンス V1 (1 年間保守付き ) COBOL Enterprise Edition クライアントライセンス

目次 1. 本書の役割 Windows Agent サポート OS とエディション サポート言語 Agent 稼働前提条件 Azure SDK リリース済み Windows Agent のサポート

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Microsoft Word - ModelAnalys操作マニュアル_

ソフト活用事例③自動Rawデータ管理システム

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

Cisco Prime LAN Management Solution 4.2 紹介資料

情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 )

講習No.1

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

使用する前に

F KDbarcode_CODE39 Microsoft WORD/EXCEL のアドイン製品 Kernel Computer System カーネルコンピュータシステム株式会社 本社 : パッケージ販売部 横浜市神奈川区金港町 6-3 横浜金港町ビル 6F TEL:

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2015/03/31 Page 2 NEC Corporation 2015

改版履歴 版数 改版 内容 新規作成 Microsoft.NET Framework のダウンロード先 URL を追記 バージョンアップに伴い改版 i

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

winras.pdf

NEC COBOL Media V2.0 セットアップカード SL438740B01-1

Transcription:

PGRelief /++ 強化ポイント説明書 1. 最新バージョンの強化ポイント (2018 2018autumn) 1) 指摘の改善 pr6000 pr6005 の改善ラップした関数で検出される指摘を抑止する識別子ラベルを追加詳細は 指摘詳細説明書 の 2. 指摘メッセージ詳細説明 - pr6000 6005 を参照 pr6001 の改善チェック対象となるミューテックスが初期化されている場合 指摘しないよう改善詳細は 指摘詳細説明書 の 2. 指摘メッセージ詳細説明 - pr6001 を参照 pr6002 の改善ポインタ型引数への直前の代入が外部変数の場合 指摘しないよう改善詳細は 指摘詳細説明書 の 2. 指摘メッセージ詳細説明 - pr6002 を参照 2) GUI 動作環境の変更 GUI が使用するJava の環境を AdoptOpenJDK 8 に変更 3) ERT 定義体の追加 ERT コーディングスタンダード検査時に使用する 以下のバージョンのERT 定義体を追加 _20180725_pr2018 本定義体を使用することで 2018 年 7 月 25 日時点におけるSEI ERT odin Standard ( ttps://wiki.sei.cmu.edu/confluence/display/c/sei+ert++odin+standard ) のコーディングルールに沿って ERT コーディングスタンダードの検査が可能 2. 過去バージョンの強化ポイント 2.1. 強化ポイント (2017autumn 2018) 詳細はこちら 1) ERT コーディングスタンダードの適合性チェックを追加 ERTオプションの購入が必要 2) 指摘メッセージを16 個追加 ( うち15 個はERTオプション用 ) 3) Visual ++ 2015 の資産に対応 2.2. 強化ポイント (2017 2017autumn) 詳細はこちら 1) IAR Emedded Workenc for ARM 7.4/8.1の資産に対応 2) 64ビットOSに対応 PGRelief /++ のすべての機能を 64 ビットOSに対応 2.3. 強化ポイント (2016autumn 2017) 詳細はこちら 1) 指摘メッセージを25 個追加 2) MISRA-:2012コーディング作法のルール対応率向上 すべてのルールに対応 (156ルール中 156ルールに対応 ) MISRAオプションの購入が必要 3) Visual ++ 2012 / 2013 の資産に対応 4) Windows Server 2016 に対応 ( フローティング版のみ ) 5) Microsoft Windows Server 2016 Hyper-V に対応 ( フローティング版のみ ) 6) prfakeコマンドの操作性 / 利便性改善 コマンドパラメタ変換定義ファイルの指定方式を追加 コンパイラのコンパイル抑止オプションに対応 結果出力先の指定方式を改善 1

2.4. 強化ポイント (2016 2016autumn) 詳細はこちら 1) SEコーディング作法 (ESR ++ V2) 適合性チェックを追加 200ルール中 156ルールに対応 2) MISRA- 適合性チェックを強化 MISRA-:2012 に MISRA-:2012 Amendment 1 で追加されたルールを追加 156ルール中 130ルールに対応 MISRAオプションの購入が必要 2.5. 強化ポイント (2015autumn 2016) 詳細はこちら 1) セキュリティ脆弱性に関する指摘メッセージを10 個追加 2) GNU 4.0 ~ 4.8 の 11 構文に対応 3) Red Hat Enterprise Linux 7 に対応 ( フローティング版のみ ) 4) I ツール連携 Jenkins プラグインを提供 ( フローティング版のみ ) 5) Visual Studio 2010 アドインを提供 ( 詳細はホームページ参照 ) 2.6. 強化ポイント (2015 2015autumn) 詳細はこちら 1) Windows 10 に対応 2) サーバー仮想化ソフトウェアに対応 ( フローティング版のみ ) Microsoft Windows Server 2012 R2 Hyper-V に対応 VMware vspere 5.0 に対応 3) GUI 使用環境を Java SE Runtime Environment 8 にアップデート 2.7. 強化ポイント (2014autumn 2015) 詳細はこちら 1) 指摘メッセージを11 個追加 2) SEコーディング作法 (ESR V2) 適合性チェックを追加 132ルール中 114ルールに対応 2.8. 強化ポイント (2014 2014autumn) 詳細はこちら 1) pr5コマンドに --includeオプションを追加 チェック対象となるソースファイルの解析時に必要な情報を 解析前に先読みする機能を追加 2.9. 強化ポイント (2013autumn 2014) 詳細はこちら 1) cc4 の資産に対応 -K GNU/G4 GNU ompiler ollection が提供する ++ ompiler 4.0~4.8の予約語に対応 -K GNU/G4_90 GNU ompiler ollection が提供する ++ ompiler 4.0~4.8の予約語に対応 2) コマンドマルチ実行機能の追加 同一端末上において /++ 解析 1ライセンスでpr5 prmisra prsecの各コマンドを 4つまで同時に実行させることができる機能を追加 3) 64ビット版 pr5 prmetricsコマンドの追加 pr5 prmetrics コマンドを64ビットOS 上で ネイティブアプリケーションとして動作させるためのモジュールを追加 4) 品質監視オプション診断レポート生成ツールの追加 5) Windows 8.1 に対応 6) Windows Server 2012 R2 に対応 2.10. 強化ポイント (2013 2013autumn) 詳細はこちら 1) MISRA- 適合性チェックを強化 MISRA-:2012 143ルール中 120ルールに対応 MISRAオプションの購入が必要 2.11. 強化ポイント (2012autumn 2013) 1) エビデンス出力機能を追加 2

解析結果をエビデンスとして出力 2) 診断レポート生成ツールを追加 解析結果からソースコードの診断レポートを生成 (Excel ブック形式 ) 3) Visual ++ 2010 の資産に対応 4) 指摘メッセージを9 個追加 5) Windows 8 に対応 6) Windows Server 2012 に対応 2.12. 強化ポイント (2012 2012autumn) 1) 対応コンパイラを追加 RENESAS/78K0R RENESAS/RXの予約語に対応 2.13. 強化ポイント (2011autumn 2012) 1) 解析結果集約モードをサポート pr5 prmisra prsecコマンドの解析結果を品質監視オプションで集約 2) 指摘メッセージを5 個追加 2.14. 強化ポイント (2011 2011autumn) 1) 指摘メッセージを1 個追加 2.15. 強化ポイント (2010autumn 2011) 1) SOFTUNE Development Tools for Eclipse 連携をサポート ( 詳細はホームページ参照 ) 2) 指摘メッセージを16 個追加 3) Windows Server 2008 R2 に対応 2.16. 強化ポイント (2010 2010autumn) 1) SEコーディング作法 (ESR ++) 適合性チェックを追加 167ルール中 130ルールに対応 2) Windows 7 に対応 3) Visual Studio 2008 アドインを提供 ( 詳細はホームページ参照 ) 2.17. 強化ポイント (2009autumn 2010) 1) 広域探索機能をサポート (ソースのみ) 関数の呼び出し経路を追跡してプログラム欠陥を指摘 広域探索オプションの購入が必要 2) 指摘メッセージを11 個追加 ( うち4 個は広域探索オプション用 ) 3) Visual Studio 2005 アドインを提供 ( 詳細はホームページ参照 ) 2.18. 強化ポイント (2009 2009autumn) 1) Visual ++ 2008 の資産に対応 2) 指摘メッセージを7 個追加 3) 構成管理ツールとの連携を強化 ( 品質監視オプション ) Interstae Application Development ycle Manaer と連携 2.19. 強化ポイント (2008autumn 2009) 1) 品質分析機能を提供 検出指摘を 品質特性 問題特性 文法特性 の観点で分類 品質監視オプションの購入が必要 2) 新コマンド (prfake) を提供 makeファイルに組み込むことで 環境設定を自動抽出 自動解析 3) 指摘メッセージビューア (GUI) を改善 コマンド解析結果の読み込みをサポート 1FLあたりの同時起動可能数を従来の3 倍に拡張 3

4) 解析時間を大幅に短縮 プリコンパイルヘッダ機能の拡張や 検査指摘設定により 従来の5 倍の処理速度で解析を実行 5) 指摘メッセージを9 個追加 2.20. 強化ポイント (2008 2008autumn) 1) MISRA-++ 適合性チェックを追加 MISRA-++:2008 228ルール中 164ルールに対応 MISRAオプションの購入が必要 2) 指摘メッセージを27 個追加 2.21. 強化ポイント (2007autumn 2008) 1) 指摘メッセージを29 個追加 2) 検査指摘設定機能を強化 あらかじめ設定したグループや番号の指摘メッセージを出力しない機能を追加 3) UTF-8 に対応 2.22. 強化ポイント (2007 2007autumn) 1) Windows Vista に対応 2) Visual ++ 2005 の資産に対応 2.23. 強化ポイント (V3.0a 2007) 1) 組織的な品質管理を強力に支援 構成管理ツールに登録されたソースを一括解析 解析結果を開発者がビューアで確認 対処を記録 開発プロジェクト全体の品質状況を見える化 品質監視オプションの購入が必要 2) 変数 関数の命名規約を検査 3) SEコーディング作法 (ESR ) 適合性チェックを強化 129ルール中 114ルールに対応 4) MISRA- 適合性チェックを強化 MISRA-:1998 127ルール中 120ルールに対応 MISRA-:2004 141ルール中 131ルールに対応 MISRAオプションの購入が必要 5) 指摘メッセージを22 個追加 6) Visual Studio.NET 2002/2003 の資産に対応 7) Red Hat Linux 9 に対応 フローティング版 コマンド解析のみ 8) 英語版をサポート メニュー メッセージ ドキュメント類を完全英語化 ( インストール時に選択 ) 中文フォルダ 中文ソースコード (GB2312) に対応 2.24. 強化ポイント (V3.0 V3.0a) 1) SEコーディング作法 (ESR ) 適合性チェックを追加 129ルール中 110ルールに対応 2.25. 強化ポイント (V2.0 V3.0) 1) 組織的な品質の管理 把握を容易に実現 品質監視オプションの購入が必要 2) 検査指摘設定機能の提供 あらかじめ設定したグループや番号の指摘メッセージだけを出力 3) 英語モードをサポート 4

メニュー メッセージ ドキュメント類を英語表示 ( インストール時に選択 ) 2.26. 強化ポイント (V1.0 V2.0) 1) MISRA- 適合性チェックを追加 MISRA-:1998 127ルール中 120ルールに対応 MISRA-:2004 141ルール中 130ルールに対応 MISRAオプションの購入が必要 2) ANSI/99 構文に対応 3) 指摘メッセージを133 個追加 4) 指摘メッセージ表示ウィンドウの処理改善 選択したグループのみで25000 件以内であれば表示可 5) ++ 解析時の必要ディスク容量削減 (V1の約 40% 削減 ) 5

3. 指摘メッセージ数 ( 単位 : 個 ) 指摘 PGRelief バージョン 障害の可能性 可読性の向上 移植性 保守性 移植性 保守性 可読性の向上 ( 特にファーム開発 ) 堅牢性 ( セキュリティ関連 ) の向上 効率性の向上 命名規約違反 その他 ( 構文の誤りなど ) 計 V1 V2-V3 2007 2008 2009 2010 2011 2012 2013-2014 2015 2016 2017 2018 102 186 24 0 5 0 42 359 115 218 92 20 5 0 42 492 124 221 96 20 5 5 42 513 127 223 96 20 5 5 42 518 135 229 98 20 5 5 42 534 143 232 98 20 5 5 42 545 147 233 100 20 5 5 42 552 151 234 100 20 5 5 42 557 153 236 105 20 5 5 42 566 153 238 106 28 5 5 42 577 153 238 106 38 5 5 42 587 161 255 106 38 5 5 42 612 161 258 106 51 5 5 42 628 ++ 指摘 ( 単位 : 個 ) PGRelief バージョン 障害の可能性 移植性 保守性 可読性の向上 移植性 保守性 可読性の向上 ( 特にファーム開発 ) 堅牢性 ( セキュリティ関連 ) の向上 効率性の向上 命名規約違反 その他 ( 構文の誤りなど ) 計 V1 V2-V3 2007 2008 2009 2010 2011 2012 2013-2014 2015 2016-2017 2018 76 143 16 0 5 0 48 288 86 156 32 20 5 0 46 345 94 159 35 20 5 5 46 364 121 193 78 20 8 5 46 471 128 198 80 20 8 5 46 485 128 201 80 20 8 5 46 488 133 211 88 20 8 5 46 511 137 212 88 20 8 5 46 516 139 214 90 20 8 5 46 522 139 214 90 28 8 5 46 530 139 214 90 37 8 5 46 539 139 217 90 50 8 5 46 555 4. 強化ポイント詳細 ( 過去 5 年間分 ) 各バージョンのリリース時に どのような改善や変更が行われたか 詳細について説明します 4.1.2017autumn 2018 強化ポイント詳細 4.1.1. ERT コーディングスタンダードの検査 ERT コーディングスタンダードを検査することが可能になりました なお ERT コーディングスタンダードを検査する場合には ERTオプションのライセンスが必要になります 詳細は ERTオプション使用説明書 および 指摘詳細説明書 の 4.ERTオプション を参照してください 6

4.1.2. 指摘の追加 次の16 個の指摘を追加しました ID 指摘メッセージ pr1166 下線で始まる識別子 @1 はANSIで予約済みのため 未定義の動作を引き起こす可能性があります pr6000 ロックしていない @1を関数 @2 に渡すのは誤りの可能性があります pr6001 関数内でロックまたはアンロックしていない @1 を関数 @2で破棄しています 他のスレッドで使用するオブジェクトを破棄していないか確認してください pr6002 関数 @1 の @2 番目の実引数 @3 は外部変数または静的変数ではないためスレッド実行時に有効ではない可能性があります pr6003 @1 型の変数 @2 は外部変数または静的変数ではないためスレッド実行時に有効ではない可能性があります Gr /++ 備考 /++ /++ ERT /++ ERT /++ ERT /++ ERT pr6004 pr6005 pr6006 pr6007 pr6008 pr6009 pr6010 pr6011 pr6012 pr6013 関数 @1 の順番が異なるため 関数 @2 を並列実行するとデッドロックとなる可能性があります ( 比較対象 : @3 行目と @4 行目, 指摘対象 : @5 行目と @6 行目 ) 関数 @1 でロックした @2 はアンロックしないとデッドロックとなる可能性があります ( ロック回数 :@3 アンロック回数:@4) 排他制御中に他の処理によってブロックされる可能性のある関数 @1 を呼び出すと デッドロックとなる可能性があります 浮動小数点型を含むデータの比較を関数 @1 で行うのは好ましくありません マルチスレッド関数内でスレッドアンセーフな関数 @1 を使用しています 関数 mainの仮引数 @1 には @2 の結果は反映されない可能性があります 関数 @1 の @2 番目の引数は @3 によるバイトオーダーの変換を行っていません 関数 @1 の @2 番目の引数に @3 を渡すと スレッドが非同期でキャンセルされる可能性があります 正しい引数を渡しているか確認してください @1 行目の関数 @2 と実引数が異なります ( 条件変数 : @3, ミューテックス : @4) carが符号ありならば car 型の @1 をサイズの大きな整数へ変換の前に unsined car でキャストしないと 符号拡張が発生しビットパターンが変わる可能性があります /++ ERT /++ ERT /++ ERT /++ ERT /++ ERT /++ ERT /++ ERT /++ ERT /++ ERT /++ ERT 関数 @1 の呼び出しの前で @2 に @3 を設定していません 関数の @1 では @2 pr6015 の初期化は行いません 呼出の前に @3 を設定してください 備考欄に記載されているキーワードの意味 : ERT:ERTオプションのライセンス所有時に抽出される指摘メッセージです /++ ERT 4.1.3. 対応するコンパイラの追加コンパイラ仕様を指定する-Kオプションに 以下を追加しました l -K MS/V2015 Microsoft 社製 Microsoft Visual ++ 2015(Win32ビット ) の予約語に対応します 4.2.2017 2017autumn 強化ポイント詳細 4.2.1. 対応するコンパイラを追加コンパイラ仕様を指定する-Kオプションに 以下を追加しました l -K IAR/EWARM7.4 IARシステムズ社製 IAR Emedded Workenc for ARM 7.4 コンパイラの予約語に対応します l -K IAR/EWARM8.1 IARシステムズ社製 IAR Emedded Workenc for ARM 8.1 コンパイラの予約語に対応します 4.2.2. 64ビットOSへの対応 PGRelief /++(64ビット版 ) を追加しました PGRelief /++ のすべての機能が 64ビットOS 上でネイティブアプリケーションとして動作します GUIやprfakeコマンドで /++ 言語で書かれた大規模なソースプログラムを解析できるようになりました 7

4.2.3. pr1395の改善大量のメッセ-ジ出力により解析時間が長くなる場合を考慮し pr1395のメッセージ出力数に関する初期設定を変更しました [ 変更前 ] 初期設定 ) すべての検出箇所に対してメッセージを出力する [ 変更後 ] 初期設定 ) 検出するリテラルの種類ごとに 解析対象ソースファイルで1 箇所のみメッセージを出力する 詳細は 指摘詳細説明書 の 2. 指摘メッセージ詳細説明 - pr1395を参照してください 4.3.2016autumn 2017 強化ポイント詳細 4.3.1. 指摘の追加次の25 個の指摘を追加しました ID pr0803 pr0804 pr0807 pr0808 pr0809 pr0810 pr0813 pr0814 pr0815 pr0816 pr0817 pr0818 pr0819 pr0820 pr0825 pr0826 pr0827 pr0828 pr0829 pr0830 pr0848 pr0849 pr1237 pr1239 pr1395 指摘メッセージ可変長の配列 @1 が宣言されています マクロ名に使用している @1 は予約語です 型 @1 を使用していません タグ @1 を使用していません マクロ @1 を使用していません // コメントが行連結されています 8 進あるいは16 進エスケープシーケンスと通常文字が混在しています 外部結合をもつ識別子 @1 の長さが @2 文字を超えました @1 とファイル @2 の @3 行目の @4 の名前は 大文字と小文字の違いだけで す 識別子 @1 の長さが @2 文字を超えました マクロ名 @1 の長さが @2 文字を超えました @1 は同じ要素を初期化しています 配列 @1 は要素を個別に初期化していますが 配列サイズを明示的に指定していません 関数 @1 の @2 番目の実引数 @3 は @4 型にした方がよいでしょう ( 実引数の型 : @5 ) @1 は異なる本質型へのキャストです ( キャスト型 : @2, 式の型 : @3) 代入式 @1 は void * 型のポインタを @2 型に代入しています @1 は @2 の @3 行目で定義したマクロ関数では置換されません @1 の初期化子並びの式中に副作用を発生させる式 @2 があります 関数 @1 の @2 番目の実引数 @3 と 対応する仮引数 @4 ( @5 の @6 行目 ) の配 列サイズが異なります ( 実引数 : @7, 仮引数 : @8 ) 関数 @1 の @2 番目の実引数 @3 と 対応する仮引数 @4 ( @5 の @6 行目 ) には 配列サイズが指定されていません ( 実引数 : @7, 仮引数 : @8 ) #ifや#elif 文中の整数の記述が0でも1でもありません コード部をコメントアウトしているかもしれません 文字列の比較を関数 @1 で行うのは好ましくありません 関数 @1 の @2 番目の実引数 @3 と @4 番目の実引数 @5 の型が異なります ( @2 番目の実引数 : @6, @4 番目の実引数 : @7 ) リテラル @1 を使用しています ( リテラルの種類 @2 ) Gr /++ 備考 4.3.2. MISRA-:2012コーディング作法のルール対応率向上 MISRA-:2012(MISRA-:2012 Amendment 1 含む ) コーディング作法のすべてのルールに対応しました 詳細は MISRAオプション使用説明書 の 3.3 MISRA- V3 を参照してください 4.3.3. 対応するコンパイラの追加コンパイラ仕様を指定する-Kオプションに 以下を追加しました l -K MS/V2012 Microsoft 社製 Microsoft Visual ++ 2012(Win32ビットでMF 未使用 ) の予約語に対応します l -K MS/V2012MF Microsoft 社製 Microsoft Visual ++ 2012(Win32ビットでMF 使用 ) の予約語に対応します 8

l -K MS/V2013 Microsoft 社製 Microsoft Visual ++ 2013(Win32ビットでMF 未使用 ) の予約語に対応します l -K MS/V2013MF Microsoft 社製 Microsoft Visual ++ 2013(Win32ビットでMF 使用 ) の予約語に対応します 4.3.4. 最新 OS/MW 環境への対応 PGRelief /++ が動作するOS/MW 環境として以下を追加しました [OS 環境 ] フローティングライセンス版のみ対応 - Windows Server(R) 2016 [ サーバー仮想化ソフトウェア ] フローティングライセンス版のみ対応 - Microsoft(R) Windows Server(R) 2016 Hyper-V(R) 4.3.5. prfakeコマンドの操作性 / 利便性改善 prfakeコマンドを以下のとおり改善しました - 環境変数 "PGRFAKE_INI_FILE" を追加 prfakeコマンド実行時に 任意のコマンドパラメタ変換定義ファイルを指定できるようになりました - コマンドパラメタ変換定義ファイルに "NOANALYZEKEY" キーを追加コンパイラのコンパイル抑止オプション (ccの-mオプション等) を識別し PGReliefの解析実行を抑止できるようになりました - コマンドパラメタ変換定義ファイルの "OUTPUTDIR" キーの指定方式を改善 prfakeコマンドの実行結果出力先ディレクトリの指定に ~( ホームディレクトリ ) が指定できるようになりました Red Hat Enterprise Linux (R) 上で動作する場合のみ対応詳細は コマンド解説書 の 1.3. prfakeコマンド を参照してください 4.4.2016 2016autumn 強化ポイント詳細 4.4.1. IPA/SE-++ V2(ESR-++ V2.0) コーディング作法の検査 IPA/SE-++ V2(ESR-++ V2.0) コーディング作法を検査することが可能になりました 4.4.2.MISRA-:2012 Amendment 1コーディング作法の検査 MISRA-:2012 に加えMISRA-:2012 Amendment 1 で追加されたコーディング作法を検査することが可能となりました 4.5.2015autumn 2016 強化ポイント詳細 4.5.1. 指摘の追加次の10 個の指摘を追加しました ID pr1160 pr1161 pr1162 pr1163 pr1164 pr1170 pr1171 pr1172 pr1173 pr1174 指摘メッセージマルチスレッド関数内で変数 @1 が排他制御されていません @1 の @2 行目の関数 @3 の呼び出しから 関数 @4 の呼び出しまでの間に 権限の変更がありません 文字列リテラル @1 は機密情報である可能性があります @1 で資源を割り当てた @2 は領域を初期化していません @1 で環境変数の値を @2 にコピーすると 配列の範囲外に書き込みをする可能性があります @1 @2 を使用しています @2 より @3 の使用を検討しましょう @1 @2 を使用しています ファイル名に依存する @2 はTOTOU 競合攻撃に対して脆弱です @3 @1 @2 を使用しています @2 はコマンドインジェクションに対し脆弱です @1 @2 を使用しています @2 はroot 権限で実行しているか確認してください @1 @2 を使用しています root 権限を設定した場合 権限が正しく破棄されてい るか確認してください Gr /++ /++ /++ /++ /++ /++ /++ /++ /++ /++ 4.5.2. 対応するコンパイラの追加 / 変更コンパイラ仕様を指定する-Kオプションに 以下を追加しました l -K GNU/G4_11 GNU ompiler ollection が提供する ++ ompiler 4.0~4.8の予約語 および 11 構文に対応します 9

セキュリティ脆弱性に関する指摘の追加に伴い 以下のコンパイラ仕様の登録識別子 ( 推奨 / 非推奨関数など ) を見直しました l -K MS/V2005 l -K MS/V2005MF l -K MS/V2008 l -K MS/V2008MF l -K MS/V2010 l -K MS/V2010MF 4.5.3. 最新 OS 環境への対応 PGRelief /++ が動作するOS 環境として以下を追加しました [OS 環境 ] - Red Hat(R) Enterprise Linux(R) 7 フローティングライセンスの64ビット版のみ対応 4.5.4.I ツール (Jenkins) のプラグイン提供 I(ontinuous Interation) ツールのJenkinsと連携するプラグインを追加しました プラグインを適用することで PGRelief /++ の実行結果をJenkins 上で集約 表示することができるようになりました 詳細は インストール媒体に格納された Iツール連携 Jenkinsプラグイン使用説明書 ("Etc\ci-pluin\prelief-jenkins-pluin_jp.pdf") を参照してください フローティングライセンス版のみ対応 4.5.5.Visual Studio 2010 アドインを提供詳細はホームページ参照 ttp://www.fujitsu.com/jp/roup/fst/products/pr/download/#d1 4.6.2015 2015autumn 強化ポイント詳細 4.6.1. 最新 OS/MW 環境への対応 PGRelief /++ が動作するOS/MW 環境として以下を追加しました [OS 環境 ] - Windows(R) 10 [ サーバー仮想化ソフトウェア ] フローティングライセンス版のみ対応 - Microsoft(R) Windows Server(R) 2012 R2 Hyper-V(R) - VMware vspere(r) 5.0 4.6.2. GUI 動作環境の更新 GUIが使用するJava SE Runtime Environmentの環境を Java SE Runtime Environment 8 にアップデートしました 4.7.2014autumn 2015 強化ポイント詳細 4.7.1. 指摘の追加 次の11 個の指摘を追加しました ID 指摘メッセージ pr0856 条件式 @1 はポインタ型と列挙定数を比較しています ( ポインタの型 : @2) pr0857 条件式 @1 はポインタ型と整数定数を比較しています ( ポインタの型 : @2) pr0858 条件式 @1 はポインタ型と整数定数を比較しています ( ポインタの型 : @2) pr1151 関数 @1 を呼び出す前に関数 @2 を呼び出していません pr1152 関数 @1 の @2 番目の実引数に定数が渡されています pr1153 プロセスを生成する前にファイルをクローズしていない可能性があります ( ファイルオープン行 : @1 行目 ) pr1154 関数 @1 で読み取った変数 @2 の長さは0である可能性があります pr1155 関数 @1 の @2 番目の実引数が指定されていません pr1156 符号なし整数型の式 "@1" は事前に内容を確認していません 演算がラップアラウンドする可能性があります pr1157 符号あり整数型の式 "@1" は事前に内容を確認していません 演算がオーバーフローする可能性があります pr1158 関数 @1の引数 @2 と @3 は事前に内容を確認していません 引数の乗算結果がラップアラウンドする可能性があります 10 Gr /++ /++ /++ /++ /++ /++ /++ /++ /++

4.7.2.IPA/SE- V2(ESR- V2) コーディング作法の検査 IPA/SE- V2(ESR- V2) コーディング作法を検査することが可能になりました 4.8.2014 2014autumn 強化ポイント詳細 4.8.1.pr5コマンド --includeオプションの追加 pr5コマンドに--includeオプションを追加しました 詳細は コマンド解説書 の 1.1.3. オプション説明 を参照してください 4.9.2013autumn 2014 強化ポイント詳細 4.9.1. 対応するコンパイラの追加コンパイラ仕様を指定する-Kオプションに 以下を追加しました l -K GNU/G4 GNU ompiler ollection が提供する ++ ompiler 4.0~4.8の予約語に対応します l -K GNU/G4_90 GNU ompiler ollection が提供する ++ ompiler 4.0~4.8の予約語 (-ansiや-std= などで90 構文を指定している場合 ) に対応します 4.9.2. コマンドマルチ実行機能の追加 1つの端末上で /++ 解析 1ライセンスで pr5 prmisra prsecコマンドを同時に4つまで実行させることができる機能を追加しました 詳細は コマンド解説書 の 1.1.6 環境変数 を参照してください 4.9.3.64ビット版 pr5 prmetricsコマンドの追加 pr5 prmetrics コマンドを64ビットOS 上で ネイティブアプリケーションとして動作させるためのモジュールを追加しました 4.9.4. 品質監視オプション診断レポート生成ツールの追加品質監視オプションの実行結果からソース診断のレポートを生成する診断レポート生成ツールを追加しました 情報を分析した結果をMicrosoft(R) Office Excel(R) のブック形式のレポートとして出力します 4.9.5. 最新 OS/MW 環境への対応 PGRelief /++ が動作するOS/MW 環境として以下を追加しました [OS 環境 ] - Windows 8.1 - Windows Server 2012 R 4.10.2013 2013autumn 強化ポイント詳細 4.10.1. MISRA-:2012 コーディング作法の検査 MISRA-:2012 コーディング作法を検査することが可能になりました (MISRAオプションの購入が必要) Windows, Windows Server, Windows Vista, Visual Studio, Excel は 米国およびその他の国における米国 Microsoft orp. の登録商標です Interstae は富士通株式会社の登録商標です SOFTUNE は富士通セミコンダクター株式会社の登録商標です MISRA とそのロゴは MISRA コンソーシアムを代表して MIRA Ltd. の登録商標です Red Hat は米国およびその他の国における Red Hat Inc. の登録商標もしくは商標です Linux は Linus Torvalds の商標です ERT は 米国 arneie Mellon University の登録商標です 本資料に記載されている会社名および製品名称は各社の商標または登録商標です 本資料に記載されているシステム名 製品名等には必ずしも商標表示 (, TM) を付記していません opyrit 1998-2018 FUJITSU LIMITED 11

株式会社富士通ソフトウェアテクノロジーズ opyrit 2005-2018 FUJITSU SOFTWARE TEHNOLOGIES LIMITED 12