klocwork 2019.1 releasenotes - rogue wave · 2019. 5. 7. ·...

16
Klocwork 2019.1 Release Notes

Upload: others

Post on 19-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

Klocwork 2019.1Release Notes

Page 2: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

目次

リリースノート.......................................................................................................................3Klocwork 2019.1 の新機能.................................................................................................................................3

Klocwork 2019 の新機能.........................................................................................................................6Klocwork 2019.1 で修正された指摘..................................................................................................................9

Klocwork 2019 で修正された指摘.......................................................................................................10制限事項............................................................................................................................................................11

2 |目次 | Klocwork

Page 3: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

リリースノートこのリリースノートは、Klocwork 2019.1をカバーしています。移行に影響を与える変更このセクションでは、前バージョンから Klocworkデータを移行する方法に影響を与える製品の変更点について詳しく説明します。アップグレードに関する一般的な情報ついては、前バージョンからのアップグレードを参照してください。ライセンスの変更2018ライセンスは、Klocwork 2019.1と互換性がありません。最新バージョンの製品を使用するには、新しいライセンスが必要です。ライセンスの入手に関しては、[email protected]宛てにお問い合わせください。無効化されたチェッカーprojects_rootディレクトリを移行する場合は、最初の統合ビルド解析の前に、以前のリリースと同じチェッカー設定があることを確認してください。

Klocwork 2019.1の新機能以下は Klocwork 2019.1の新機能です。アップグレードする場合、Klocworkの使用方法に影響を与える項目については、制限事項(11ページ)も参照してください。セキュリティ脆弱性検出の向上オフセット後とキャスト時に構造体内で使用される、汚染データの追跡に関連する脆弱性を検知するセキュリティチェッカーを向上させました。2017年版 OWASPトップ 10セキュリティリスクの分類基準2017年版 OWASPトップ 10のセキュリティリスクに対応する新しい Java分類基準を追加しました。詳細については、Klocwork Javaチェッカーにマッピングされた 2017年版 OWASPトップ 10セキュリティリスク を参照してください。解析エンジンの強化Linuxは、現在、ビルドスペックの生成に 64ビットアーキテクチャを利用しています。このため、Klocworkはこれまで以上に大きく複雑なコードベースとコードプロジェクトを処理できるようになりました。MISRA C 2012の新機能と改良点規則 18.1をサポートするためにチェッカーを追加して MISRA C 2012のカバレッジを強化し、規則 19.1をサポートするチェッカーを向上させました。より明確なビルド解析レポート解析の品質とレビューの必要性の有無に関してより明確な情報をユーザーに提供することにより、Klocworkが確実なクリーンビルドをレポートする方法を改善しました。このほか、build.logファイルを最適化してそのサイズを縮小できるように、新しいオプションも追加しました。Microsoft Visual Studioのサポートの向上Visual Studio Extensionは広範な Visual Studio 2017アップデートバージョンをサポートするようになり、安定性とパフォーマンスに一般的な改善が加えられました。

Klocwork |リリースノート | 3

Page 4: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

ライセンス2018ライセンスは、Klocwork 2019.1との互換性がありません。最新バージョンの製品を使用するには、新しいライセンスが必要です。ライセンスの入手に関しては、[email protected]宛てにお問い合わせください。サポートされているコンパイラの改善次のコンパイラのサポート機能を改善しました。• ARM Optimizing C/C++ compiler (formerly TI tms470 C/C++ compiler)• Clang• GNU• Green Hills• Microsoft Visual C++• Mono Headset SDK• Nvidia CUDA• Plan 9 C• WinAVR

サポートされる C/C++コンパイラの全リストについては、ビルド統合でサポートされる C/C++コンパイラを参照してください。チェッカーの改善リリースを重ねるたびに、当社は指摘検出を改善して最先端の機能をお客様に提供しています。結果として、精度とカバレッジが向上すると解析結果が変わると予想されます。新しいチェッカー

説明チェッカーMISRA C 2012規則 18.1の実装:ポインタオペランドの計算から得られるポインタは、そのポ

MISRA.PTR.ARITH.NOT_SAME.2012

インタオペランドと同じ配列の要素をアドレス指定します。

変更されたチェッカー

説明チェッカー新たな欠陥が検出されました。MISRA.ASSIGN.OVERLAP

誤検知が少なくなることが期待されています。RLK.SQLOBJ

新たな欠陥が検出されました。SV.TAINTED.ALLOC_SIZE

新たな欠陥が検出されました。SV.TAINTED.BINOP

新たな欠陥が検出されました。SV.TAINTED.CALL.BINOP

新たな欠陥が検出されました。SV.TAINTED.CALL.DEREF

新たな欠陥が検出されました。SV.TAINTED.CALL.INDEX_ACCESS

新たな欠陥が検出されました。SV.TAINTED.CALL.LOOP_BOUND

新たな欠陥が検出されました。SV.TAINTED.DEREF

新たな欠陥が検出されました。SV.TAINTED.INDEX

新たな欠陥が検出されました。SV.TAINTED.INDEX_ACCESS

4 |リリースノート | Klocwork

Page 5: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

チェッカーの有効/無効を切り替えるこのリリースでチェッカー構成ファイルのデフォルトの enabledフィールドは変更されていません。分類基準の改善インストールの一部として、チェッカーを MISRA、CWE、OWASP、DISA STIGなどの規格にマップするカスタム分類基準ファイルがいくつか提供されています。

アップデート分類基準次のチェッカーへの参照を追加しました。misra_c_2012_c90.tconf and misra_c_2012_c90_ja.tconf

MISRA C 2012 Rule 18.1:ポインタオペランドの計算から得られるポインタは、そのポインタオペランドと同じ配列の要素をアドレス指定します。• MISRA.PTR.ARITH.NOT_SAME.2012

次のチェッカーへの参照を追加しました。misra_c_2012_c99.tconfおよび misra_c_2012_c99_ja.tconf

MISRA C 2012 Rule 18.1:ポインタオペランドの計算から得られるポインタは、そのポインタオペランドと同じ配列の要素をアドレス指定します。• MISRA.PTR.ARITH.NOT_SAME.2012

次のチェッカーへの参照を追加しました。misra_c_2012_with_amd1_c90.tconfおよびmisra_c_2012_with_amd1_c90_ja.tconf

MISRA C 2012 Rule 18.1:ポインタオペランドの計算から得られるポインタは、そのポインタオペランドと同じ配列の要素をアドレス指定します。• MISRA.PTR.ARITH.NOT_SAME.2012

次のチェッカーへの参照を追加しました。misra_c_2012_with_amd1_c99.tconfおよびmisra_c_2012_with_amd1_c99_ja.tconf

MISRA C 2012規則 18.1の実装:ポインタオペランドの計算から得られるポインタは、そのポインタオペランドと同じ配列の要素をアドレス指定します。• MISRA.PTR.ARITH.NOT_SAME.2012

これらは、Klocwork Javaチェッカーを 2017年版 OWASPトップ 10セキュリティリスクにマッピングする新しい分類基準です。

owasp_2017_10_java.tconfおよびowasp_2017_10_java_ja.tconf

サポート終了の通知Klocwork 2018.3は、次のプラットフォームでサポートされる Klocwork Portalおよびライセンスサーバーの最終リリースです。AIX、Mac、および Solaris。RogueWaveはここでもお役に立ちます。KlocworkPortalまたはライセンスサーバーを Linuxまたは Windowsに移行するためのサポートが必要な場合は、Rogue Waveプロフェッショナルサービスまでお問い合わせいただき、サービスエンゲージメントを介してご相談ください。システム要件の変更このセクションでは、システム要件の変更を一覧表示します。次のサポートを追加しました。

Klocwork |リリースノート | 5

Page 6: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

• Debian 9.x~ 9.8• Red Hat Enterprise Linux 7.6• Ubuntu 16.04.5 LTSおよび 18.10• Windows 10 1709~ 1809• Windows Server 2019• IBM AIX 7.2 TL1~ TL3• Eclipse 3.4~ 4.11• バージョン 15.9.9までの Microsoft Visual Studio 2017• Android Studio 1.0~ 3.3 (3.3.1)• JetBrains IntelliJ IDEA 11.x~ 2018.x (2018.3.3)• Jenkins 1.58~ 2.165• TeamCity 9.1.3~ 2018.2.3• Google Chrome 54.x~ 72.x• Mozilla Firefox 65.x.x。• Microsoft Edge 44.x~ 44.17763• Microsoft Internet Explorer 11.0.x~ 11.0.105

コマンド、ツール、およびオプションへの変更Klocwork Desktopについて、ウィンドウが閉じているときに Klocwork Desktopをバックグラウンドで実行したままにしたい場合に選択できるチェックボックスの説明を変更しました。kwbuildprojectコマンドを変更しました。build.logファイルの簡易バージョンを生成する --short-logオプションを追加しました。このほか、--strictが指定される場合に parse_errors.logファイルとbuild_integration.logファイルに追加の警告情報が出力されるように、--strictオプションの変更も行いました。解析中に kwbuildprojectが 1つ以上の関数をスキップすると、function_information.logファイルに追加の情報が出力されます。Klocworkコマンドの詳細については、コマンド リファレンスを参照してください。

Klocwork 2019の新機能以下は Klocwork 2019の新機能です。アップグレードする場合、Klocworkの使用方法に影響を与える項目については、制限事項(11ページ)も参照してください。解析エンジンとコンパイラの改善MS Visual Studioとリモートサーバー解析を使用して C++ 11、C++14、および C++17の最新の言語機能と欠陥検出の両方をローカルにサポートするために、Microsoft Visual C++コンパイラのサポートを改善しました。Microsoft Visual Studioサポートの改善Visual Studio Extensionは、C++ 11、C++14、および C++17の言語機能の解析をサポートするようになりました。このため、新たな欠陥をデスクトップ上でローカルに検出できます。詳細は以下をご覧ください: SupportedC++ language specifications。ビルドのクロスバージョンサポートの改善Klocwork 2019ではビルドのクロスバージョンサポートがさらに拡張され、最大 1バージョン前のフルメジャーリリースに戻ることができるようになりました。つまり、Klocwork 2018.xビルドを、データのインポートまたは移行を行うことなく Klocwork 2019にロードできます。大規模な組織にとって、この機能はポータルやサーバーをアップデートしてその改良を利用しながら、プロジェクトの一部を以前のバージョンの Klocworkで解析できる柔軟性をもたらします。詳細は以下をご覧ください: Cross-version support for builds。

6 |リリースノート | Klocwork

Page 7: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

ビルドツールパッケージの紹介当社は現在、サポートされているあらゆるプラットフォームに展開できる軽量のKlocworkビルドツールパッケージを提供しています。詳細は、ビルドツールパッケージのインストールを参照してください。ライセンス2018ライセンスは、Klocwork 2019.1との互換性がありません。最新バージョンの製品を使用するには、新しいライセンスが必要です。ライセンスの入手に関しては、[email protected]宛てにお問い合わせください。Klocwork 2017のメンテナンスの終了全バージョンの Klocwork 2017が近々メンテナンスを終了します。メンテナンス終了 (end of maintenance:EOM)日は 2019年 2月 20日で、販売終了 (end of sale: EOS)日も 2019年 2月 20日です。Klocworkリリースのサポート可否についての詳細は、 Rogue Waveプロフェッショナルサービス を参照してください。kwvcprojparserの代わりに kwinjectのご使用をbuild specification (ビルドスペック)の生成にこれまで kwvcprojparserコマンドを使用してきた場合、今後はkwinjectコマンドを使用することを強くお勧めします。詳細は、kwinjectを参照してください。サポートされているコンパイラの改善次のコンパイラのサポート機能を改善しました。• Clang• HiveCC• Microsoft Visual C++• Paradigm C/C++

サポートされる C/C++コンパイラの全リストについては、ビルド統合でサポートされる C/C++コンパイラを参照してください。チェッカーの改善リリースを重ねるたびに、当社は指摘検出を改善して最先端の機能をお客様に提供しています。結果として、精度とカバレッジが向上すると解析結果が変わると予想されます。変更されたチェッカー

説明チェッカー誤検知が少なくなることが期待されています。MISRA.FUNC.NOPROT.CALL

誤検知が少なくなることが期待されています。MISRA.FUNC.NODECL.CALL.2012

チェッカーの有効/無効を切り替えるこのリリースでチェッカー構成ファイルのデフォルトの enabledフィールドは変更されていません。分類基準の改善インストールの一部として、チェッカーを MISRA、CWE、OWASP、DISA STIGなどの規格にマップするカスタム分類基準ファイルがいくつか提供されています。このリリースの分類基準ファイルに変更はありません。サポート終了の通知Klocwork 2018.3は、次のプラットフォームでサポートされる Klocwork Portalおよびライセンスサーバーの最終リリースです。AIX、Mac、および Solaris。RogueWaveはここでもお役に立ちます。KlocworkPortalまたはライセンスサーバーを Linuxまたは Windowsに移行するためのサポートが必要な場合は、Rogue Waveプロフェッショナルサービスまでお問い合わせいただき、サービスエンゲージメントを介してご相談ください。

Klocwork |リリースノート | 7

Page 8: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

システム要件の変更このセクションでは、システム要件の変更を一覧表示します。一部のケースでは特定のマイナーリリースではなく一連のリリース (10.x、11.0.xなど)を含むようにサポートステートメントが拡張されていることにご注意ください。サポートされる .xバージョンは、その Klocworkソフトウェアのリリース時点で利用可能なリリースに限定されます。次のサポートを追加しました。• Windows Server 2008~ 2016• Ubuntu 16.04.x、18.04.x• Fedora 27~ 29• OpenSUSE Tumbleweed• SUSE Enterprise 12.xおよび Leap 15• Solaris 10.x、11.x• macOS 10.12.x~ 10.13.x• Eclipse 3.4~ 4.10• Android 1.0~ 3.2 (3.2.1)• IntelliJ IDEA 11.x~ 2018.x (2018.2.5)• Internet Explorer 11.0.x• Microsoft Edge 20.x、25.x、38.x、40.x、41.x、42.x、44.x• Mozilla Firefox 60.x.x、62.x.x• Google Chrome 54.x~ 70.x• Apple Safari 9.1.x~ 12.x• Jenkins 1.58~ 2.148• TeamCity 9.1.3~ 2018.1.3• Gradle 3.x~ 4.10.2• IBM AIX 7.1 TL4~ TL5 (サーバーパッケージのみ)、IBM AIX 7.2 TL1~ TL2 (サーバーパッケージのみ)

以下についてはもはやサポートしていません。• Windows 10 Anniversary (v 1607)• Debian 7.x (7.11)• Red Hat Linux 6.x (6.8~ 6.10)• CentOS 6.x (6.8~ 6.10)• Ubuntu 14.04.5• Fedora 25、26• OpenSUSE Leap 42.2、42.3• IntelliJ IDEA 10.0、10.5• Mozilla Firefox 52.7.2、57.x、59.0.1• IBM AIX 7.0 (サーバー パッケージのみ)• macOS 10.11.6

コマンド、ツール、およびオプションへの変更Visual Studio Extensionでは、クラシックモードを使用するように解析モードを変更するオプションを追加しました。このオプションを有効にすると、Klocworkが前世代 (Klocwork 2018より前)の解析エンジンを使用するように強制されます。このオプションは、Eclipseおよび Eclipseベース IDEにおける当社の他の IDEプラグインの動作に一致します。Klocworkコマンドの詳細については、コマンド リファレンスを参照してください。

8 |リリースノート | Klocwork

Page 9: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

Klocwork 2019.1で修正された指摘以下の指摘は、Klocwork 2019.1で修正されました。一般的な指摘

説明番号Green Hillsコンパイラのサポートを向上しました。00035336,

SUPPORT-7012,00038420,SUPPORT-8800,00038796,SUPPORT-9095,SUPPORT-21748

dbvalidateツールを改善しました。SUPPORT-8046

Linuxの kwinjectのために 64ビットサポートを開発しました。00037836、SUPPORT-8313

チェッカー SV.TAINTED.INDEXによる検出漏れを削減しました。00037914、SUPPORT-8374

Nvidia CUDAコンパイラのサポートを改善しました。00038349、SUPPORT-8740

少量の重複を削除する MISRA C++ 2008分類基準に関連する問題を修正しました。SUPPORT-9381

String startsWithメソッドを使用すると一部のケースで NULLポインター例外が報告されないことに関連する問題を修正しました。

00039288

ラムダ式の処理に関連する解析問題を修正しました。SUPPORT-9571

チェッカー SV.TAINTED.CALL.INDEX_ACCESSによる検出漏れを削減しました。SUPPORT-10541

解析のリンク設定段階に関連する問題を修正しました。SUPPORT-10879

GNUコンパイラのサポートを改善しました。SUPPORT-9888

入れ子構造体内の汚染データに関連する、いくつかのチェッカーの検出漏れを削減しました。

SUPPORT-8792

データベースへのテーブルのロードに関連する問題を修正しました。SUPPORT-17316

@表記を使用したパラメータファイルに関連するarフィルタファイルのサポートが改善されました。

SUPPORT-17366

いくつかの Windows C#オープンソースプロジェクトの KBファイルの生成とパッケージ化を行いました。

SUPPORT-20878

長い引数リストに関連する解析の問題を修正しました。SUPPORT-21612

KlocworkDesktopの問題を修正し、高コントラストの色設定を使用するときの画面の判読性を向上させました。

SUPPORT-21569

プロジェクトパスにスペースが含まれることに関連する Visual Studio解析の問題を修正しました。

SUPPORT-22021

チェッカーRLK.SQLOBJの誤検知を修正するために、Javaknowledgebase (ナレッジベース)を更新しました。

SUPPORT-21992

Klocwork |リリースノート | 9

Page 10: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

ドキュメントの指摘説明番号モジュール内のパスパターンでの正規表現の使用に関するガイダンスを追加しました。SUPPORT-9376

モジュールのパスを追加するときにワイルドカードがどのように機能するかについて情報をさらに追加しました。

00039248、SUPPORT-9472

Klocworkがどの行で欠陥を報告するかを正確に特定するために、いくつかの C#チェッカーのコードスニペットを更新しました。

SUPPORT-22358

Klocwork 2019で修正された指摘以下の指摘は、Klocwork 2019で修正されました。一般的な指摘

説明番号チェッカー MISRA.FUNC.NOPROT.CALLと MISRA.FUNC.NODECL.CALL.2012による誤検知を減らしました。

00038220、SUPPORT-8632

Paradigmコンパイラのサポートを改善しました。00037234、SUPPORT-7795

パーミッション検索操作に関連する、Klocworkサーバーの問題を修正しました。00037505、SUPPORT-8027

チェッカー CWARN.MEM.NONPODに関する解析の問題を修正しました。00038688、00038713、SUPPORT-9032、SUPPORT-9011

Microsoft Visual C++コンパイラのサポートを向上しました。00036212、00036148、SUPPORT-7083

複数行パターンのサポートに関する Checker Studioの問題を修正しました。00039348、SUPPORT-9555

ユーザーがウィンドウの [X]アイコンの動作を変更できるように KlocworkDesktopの動作方法を変更しました。これにより、ユーザーはアプリケーションをシステムトレイに最小化せずに閉じることができるようになりました。

00039160

Clangコンパイラのサポートを改善しました。SUPPORT-9547、SUPPORT-9757、SUPPORT-9914、SUPPORT-9919、00039340、00039341、SUPPORT-20531、SUPPORT-10964、SUPPORT-10478、00036236、00036133

当社の解析エンジンによるオーバーライドファイルオプションの処理方法を改善しました。

SUPPORT-10543

10 |リリースノート | Klocwork

Page 11: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

説明番号インポートされていないバグトラッカー IDに関連するプロジェクトのインポートに関する問題を修正しました。

00038553、SUPPORT-8907

チェッカーNPD.FUNC.MUSTで誤検知を減らすためにナレッジベースを更新しました。00034522

ユーザーがウィンドウの [X]アイコンをクリックして (アプリケーションの最小化ではなく)アプリケーションを閉じることができるようにするために、Klocwork Desktopにオプションを追加しました。

SUPPORT-9392

インクルードの欠落に関連した解析問題を修正しました。SUPPORT-9302

build specification (ビルドスペック)に不完全な行が含まれる場合にビルドログに警告を追加するメカニズムを追加しました。

SUPPORT-10514

非常に大きなプロジェクトのエクスポートに関連する kwprojcopyの問題を修正しました。

SUPPORT-9930

ドキュメントの指摘説明番号Web APIでファイルリストの代わりに正規表現の使用を推奨する制限を追加しました。00039133

当社がサポートする Linuxバージョンを修正するシステム要件を更新しました。SUPPORT-17143

MISRA2008テーブルを更新し、「少数の規則は静的に検証できない」ではなく、「少数の規則はサポート予定がない」と正しく表示されるようにしました。

SUPPORT-9868

テキストが非表示状態になる Webサイトの問題を修正しました。SUPPORT-9671、SUPPORT-9882

制限事項このセクションには、このリリースと以前のリリースで追加された制限の両方が含まれます。インストール、アップグレード、および展開の制限事項TeamCity用 Klocworkプラグインを再インストールする場合は、プロジェクト設定に「klocwork.step.enabled」パラメーターがないことを確認してくださいTeamCity用Klocworkプラグインを以前にインストールおよびアンインストールしている場合は、このパラメーターが定義されている可能性があります。新規インストールをする場合は、このパラメーターが削除されていることを確認してください。回避策: このパラメーターを削除するには、TeamCityサーバーにアクセスし、[管理]-> <Project_name> -> [プロジェクト設定] -> [構成パラメーター]の順に進みます。このページから、「klocwork.step.enabled」パラメーターを削除します。チェッカー設定の移行に関する制限アップグレード プロセス (インポート プロセスによる)ではチェッカー設定ファイルに関する次の制限事項に注意してください。• デフォルトのチェッカー設定ファイルへの変更のみインポートされます。以前のインストールでデフォルト

以外のチェッカーを有効にしており、新しいバージョンでその名前が変更された場合、新しいビルドではチェッカーが表示されません。Klocworkの新しいバージョンでチェッカーを再度手動で有効にする必要があります。

Klocwork |リリースノート | 11

Page 12: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

• デフォルトで有効になっていたチェッカーの名前が Klocworkの新しいバージョンで変更された場合、新しいコードは、新しいインストールの最初のシステムビルドまで表示されません。

java_wrappers.confを使ってピープサイズ設定を編集することはもうできませんインストール中に新しいファイル java_wrappers_memory.confが作成されます。これは、お使いのマシンのメモリに応じて適切なヒープサイズを事前設定します。ヒープサイズを変更する場合は、このファイルを変更します。これらの設定は無視されるため、Windowsで java_wrappers.confを変更するための前の推奨は廃止されます。同様に、Linuxに対する<klocwork_install_path>/binにあるシェルスクリプトの最後の2行の以前の変更推奨は、java_wrappers_memory.conf設定と競合する場合があり、安全ではありません。既存のレポートを使用してプロジェクトをインポートするための制限デフォルトのメトリック名を使用している既存のレポートと共にプロジェクトをインポートしようとすると、予期しない結果が生じる可能性があります。回避策: プロジェクトをインポートする場合、レポートでデフォルトのメトリック名を使用していないことを確認してください。このエラーメッセージが発生した場合は、レポートを削除して再作成するか、metrics.xmlファイルを編集します。これにより、欠落した、または無効になった定義は有効になります。サーバーをWindows Servicesとして実行するためにMicrosoft .NET 4.0 Frameworkがインストールされていることこのフレームワークは、デフォルトとしてWindows8およびWindows10の一部としてインストールされます。Windowsのその他のすべてのバージョンでは、Microsoft .NET 4.0 Framework Installerをダウンロードし、手動でフレームワークをインストールする必要があります。kwcollectが新しい解析エンジンによって生成されたテーブルで失敗するKlocwork 2018解析エンジンの導入により kwcollectの動作が変わりました。回避策: お客様のプロジェクトが Klocwork 2018の新しい解析エンジンで構築されている場合は、コマンドラインに '--all-sources’オプションを含める必要があります。この要求事項は、お客様のプロジェクトが Klocwork2018の新しい解析エンジンなしで構築された場合には適用されません。お客様のプロジェクトが新しい解析エンジンにより構築されたかどうかを判定するには、ビルドの出力テーブルフォルダーのルートに格納されるビルドログで、ビルドプロセスの出力を調べます。「Selected Engines」で始まる行を検索します。角括弧の中に'MODERN’が表示されたら、お客様のプロジェクトはKlocwork2018の新しい解析エンジンを使用して構築されています。Mac OSサポートの制限事項• Macの場合、Flex Net Publisherバージョン 11.14.0.2を実行するクライアントは、Flex Net Publisher

11.14.1.2を実行する Klocwork 2019.1サーバーに接続できません。回避策については、kwlefエラーでライセンスが無効であることが示されますを参照してください。

• 分散解析はサポートされていません。• デベロッパーの場合、プラグインはEclipseおよび IntelliJ IDEAでサポートされます。デベロッパーがEclipse

または IntelliJ IDEAを使用していない場合、コードを解析し検出された指摘を表示するには、C/C++、Java(kwcheck)、または Klocwork Desktopの代わりに Klocwork Desktopコマンドラインを使用する必要があります。Klocwork Desktop Analysisを使用したチェックイン前の指摘の修正を参照してください。

• システム整合性保護 (SIP)がMacOSX10.10以降で kwinjectが正常に実行されないようにブロックします。Kwinjectは、次の警告とエラーコード1を返します。「System Integrity Protection is enabled.

kwinject cannot inject to process.(システム整合性保護が有効になっています。kwinject は処理に挿入できません。)」回避策: Klocwork解析を実行しているマシンで SIPを無効にするか、kwwrapとkwinjectを使用した build specification (ビルドスペック)の生成を参照してください。

12 |リリースノート | Klocwork

Page 13: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

ビルド統合の制限事項kwloaddb、kwadminおよび kwjavaのデフォルトのメモリ設定を使用して Android 4.4 (KitKat)をロードできないAndroid プラットフォームをビルドする場合、ロードプロセスを呼び出すマシン上の特定の Klocwork ツールのメモリ設定を増やす必要があります。これらの値は、<klocwork_install>/config/java_wrappers_memory.confファイルで変更できます。Jackツールチェーンを使用した Android Nの Java解析Jackコンパイラを使用して Android Nをビルドするとき、Klocwork Java解析に必要な jarファイルの一部がビルドプロセス中に生成されません。このため、kwbuildprojectで分析結果の精度に影響を及ぼす "Unresolvedimport"、"Unresolved method"、および "Unresolved name"セマンティックエラーが発生します。回避策:Klocworkカスタマーサポートのチケットを起票します。カスタマーサポートから、分析に必要な jarファイルを生成できるスクリプトを提供いたします。kwinjectコマンドの実行後、および kwbuildprojectコマンドの実行前にスクリプトを実行します。C#解析の制限事項Klocworkの C#解析は Windowsでのみサポートされます。次の機能は C#統合プロジェクトではサポートされていません。

詳細機能ビルド統合 • kwinjectを使用して C#プロジェクトの build

specification (ビルドスペック)を作成することはできません。代わりに、kwcsprojparserを使用します。

• Build specification template (ビルドスペックテンプレート)

統合ビルド解析 • 多言語プロジェクト (C/C++プロジェクトと C#プロジェクトをそれぞれ 1つ作成する必要があります)

• 並列解析• I増分解析

Klocwork Static Code Analysis • 「実装の表示」、「宣言の表示」、およびソースクロスリファレンス

分散解析 • 分散解析は C#ではサポートされていません。

次の機能は C#デスクトップ解析ではサポートされていません。• オンザフライ解析• Visual Studioでサーバーの問題を表示• 並列解析• 増分解析• Visual Studioでのファイル レベルの解析 (ソリューションとプロジェクトのみを解析できます)• Usingメトリックしきい値およびナレッジベースの使用

メトリックしきい値とナレッジベースの使用は、C#サーバービルド解析ではサポートされていません。

Klocwork |リリースノート | 13

Page 14: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

次に関する制限事項: Klocwork Static Code AnalysisMicrosoft Edgeで、一部の項目がクリックできないことがあるMicrosoft Edgeの問題のために、ポータルの一部の項目がクリックできないことがあります。詳細については、次を参照してください。 https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/5782378/

回避策: ページを更新します。Klocwork Desktop Analysisの制限事項一定のシナリオで、'no-resolve'モードに対して解析がサポートされていません。Linuxにあるソースファイルへのシンボリックリンクをサポートするために、"no-resolve"モードが追加されました。ディレクトリへのシンボリックリンクはサポートされていません。Eclipseプラグインが "no-resolve"モードをサポートするのは、プロジェクトが外部ビルドスペックを使うように設定されており、ビルドスペックが "--no-resolve"オプションで kwinjectを使って作成された場合のみです。WindRiver Workbenchを使用している場合、これにリンクされる外部ソースでプロジェクトを使おうとするとエラーメッセージが表示されます。Visual Studioプラグインの制限事項Visual Studio 2017のヘルプVisual Studio 2017以降、ヘルプビューアーコンポーネントはデフォルトではもはやインストールされなくなったため、インストール時に明示的に選択する必要があります。Klocwork extension for Visual Studioのインストールを試みても、このコンポーネントをインストールしていないと、ローカルヘルプをインストールできないため、エラーが発生します。詳細については、Klocwork Help registration could not acquire the location of theHelp Viewer (Klocworkヘルプ登録でヘルプビューアーの場所を取得できません)を参照してください。Kwvcprojparserは Visual Studio 2017ではサポートされていませんkwvcprojparserコマンドは、コマンドラインからビルドされた Visual Studio 2017プロジェクトではサポートされていません。kwvcprojparserコマンドは、Visual Studio 2010、2012、および 2015でサポートされます。ただし、このコマンドは前世代 (Klocwork 2018より前)の解析エンジンに基づいて結果を出すだけです。回避策: kwinjectコマンドを使用して、build specification (ビルドスペック)を作成します。Microsoft Visual Studio機能拡張の重要度別フィルターオプションでは C++プロジェクトのカスタム重要度が表示されない場合がありますカスタム重要度を定義したC++プロジェクトでは、重要度でフィルターをかけたリストに正しいアイテムが表示されない場合があります。リストにはデフォルトの重要度名が表示される可能性がありますが、C++と C#の混合プロジェクトの場合には C#の重要度が表示されます。引き続きフィルターを使用することはできますが、指摘ツリーに表示される重要度名はリストで選択したアイテムと一致しない場合があります (フィルターが重要度番号別に適用されているためです)。Klocwork Microsoft Visual Studio機能拡張をアンインストールしても、Klocworkヘルプコンテンツは削除されません。Microsoft VSIXインストーラの制限があるため、プラグインをアンインストールしても Klocworkヘルプは削除されません。回避策:ヘルプファイルは手動でアンインストールできます。[ヘルプ] > [ヘルプコンテンツの追加と削除]に移動し、[Klocwork Inc.]セクションで [Klocworkデスクトッププラグイン]の隣にある [削除]アクションをクリックします。これで最新バージョンのプラグインを問題なくインストールできます。Microsoft Visual Studio機能拡張の場合、サーバーとの接続が失われている場合にサーバーの問題を処理する際に、若干のパフォーマンスの低下が生じます。

14 |リリースノート | Klocwork

Page 15: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

サーバー接続が失われた場合、サーバーの問題を処理する際に (たとえば、サーバーの問題を開く、または引用する際に)、最大 3秒の遅延が発生します。回避策: [ローカルな指摘のみを表示] ボタンをクリックして、ローカルな問題のみを処理します。Klocwork extension for Visual Studio用 Visual Studioの Klocwork Issuesウィンドウでヘルプを開いても、F1ヘルプは機能しません。Klocwork Issuesウィンドウで問題をクリックし、F1を押して対応するヘルプを開くと、Help Viewerで間違ったヘルプページが開かれます。回避策: 問題を右クリックしてチェッカー用ヘルプを開き、[<checker name>チェッカーを管理]メニューから[チェッカードキュメンテーションを表示]を選択します。ハードコードされた IPアドレスを使用する場合、Klocworkサーバーオプションがプロジェクトを取得できませんKlocworkオプションメニューの Klocworkサーバーダイアログでハードコードされた IPアドレスを使用する場合、Klocwork extension for Visual Studioはプロジェクトのリストを取得できません。回避策: IPアドレスではなくホスト名を使用します。これがオプションでない場合は、hostsファイルに IPアドレスのエントリーを追加できます。Android Studio用 Klocworkプラグインは予期しない場所にインストールされます。IntelliJ IDEA2017とAndroid Studioの両方がインストールされる場合、Android StudioプラグインをインストールするとAndroid Studioのパスではなく IntelliJ IDEAのパスが自動的に設定されます。Klocworkによって IntelliJIDEAディレクトリが自動検出され、その場所にプラグインがインストールされます。回避策:複数のインストールディレクトリが検出された場合は、Android Studio用に望ましい場所を手動で参照して指定します。Klocwork Desktopの制限事項以下のいずれの構成でも、解析がサポートされていません。• シンボリックリンクのあるプロジェクトが "no-resolve"という属性を持たない外部ビルドスペックで構成

されている場合。プロジェクトがシンボリックリンクを使用しており、ユーザーが外部ビルドスペックを用いてプロジェクトを構成する必要があり、外部ビルドスペックがkwinjectに渡された "no-resolve"オプションで作成されなければならない場合。

• シンボリックリンクを含むプロジェクトが Eclipse CDTツールチェーンを使用するように構成されている場合。Eclipseプラグインがユーザーに "no-resolve"オプションの設定を許可しない場合。

• プロジェクトがディレクトリへのシンボリックリンクを含む場合。プラグインがファイルのみへのシンボリックリンクをサポートしている場合。

Klocwork extensibilityの制限事項C/C++パス チェッカー コンパイルmakefileの互換性Unixシステムで kwcreatecheckerが生成する makefileには、チェッカーをビルドするための GNU make が必要です。AIXやSolarisなどの非GNUシステムにインストールされているデフォルトのmakeはC/C++のKlocwork拡張子をコンパイルしません。Windowsでは、kwcreatecheckerが生成するmakefileにはチェッカーをビルドするための nmake が必要です。回避策: なし。

Klocwork |リリースノート | 15

Page 16: Klocwork 2019.1 ReleaseNotes - Rogue Wave · 2019. 5. 7. · 解析エンジンとコンパイラの改善 MSVisualStudioとリモートサーバー解析を使用してC++11、C++14、およびC++17の最新の言語機能と欠陥

電話 (フリーダイヤル): 1.800.487.3217 このドキュメントおよびドキュメントで説明されているソフトウェアにはライセンスが付与されており、このライセンスの規約に従った場合にのみ使用または複製することができ直通: 1.613.836.8899ます。ここに含まれる情報は Klocwork Inc.の財産かつ Klocwork Inc.とクライアント間の[email protected] 機密情報であり、Klocwork Inc.の排他的財産と見なされます。どのような形式または手段

[email protected] でも、電気的、機械的、コピー印刷、録画、またはその他の方法で Klocwork Inc.の事前の書面による許可なしでこのドキュメンテーションの一部をコピー、翻訳、検索システムへ1315 West Century Drive, Suite 150, Louisville, CO 80027の保存、または転送することはできません。ドキュメンテーションに問題がある場合は、

www.roguewave.com 書面で報告してください。 Klocwork Inc.は、このドキュメントに誤りがないことを保証しません。

www.roguewave.jp/products-services/klocworkKlocworkおよびは Klocwork Inc.の登録商標です。Klocwork Insight、Klocwork Inspect、および Klocwork Reviewは Klocwork Inc.の商標です。

サードパーティ製ソフトウェアの著作権告知には、Klocworkインストールディレクトリにある THIRDPARTYLICENSEREADME.txtファイルが含まれています。

Copyright © 2019 Rogue Wave Software Inc. All rights reserved.