EN JP CN

Klocwork 2018 の新機能

Klocwork 2018 の新機能

以下は Klocwork 2018 の新機能です。アップグレードする場合、Klocwork の使用方法に影響を与える項目については、制限事項も参照してください。

最新の C++ 17 言語機能をサポートする新規解析エンジン

弊社の新しい解析エンジンは、C++ 11、14、および 17 言語機能向けに改善されたサポートを提供します。すなわち、改善されたサポートにより、どんなに複雑な C++ アプリケーションでも Klocwork 2018 が最も完全な解析を実行できるようにします。詳細は以下をご覧ください:サポートされる C++ 言語仕様

ビルドのクロスバージョンサポート

Klocwork 2018 は、ポータルおよびデスクトップツールから、最大 3 つのマイナーリリースに戻って解析エンジンを切り離しました。すなわち、Klocwork の2017.1、2017.2、および 2017.3 ビルドを、データのインポートまたは移行なしで Klocwork 2018 にロードできます。大規模な組織にとって、この機能はサーバーやデスクトップのツールをアップデートしてその改良を利用しながら、プロジェクトの一部または全部を Klocwork の以前のバージョンで解析できる柔軟性をもたらします。詳細は以下をご覧ください:ビルドのクロスバージョンサポート

ライセンス

2017 ライセンスは、Klocwork 2018 と互換性がありません。最新バージョンの製品を使用するには、新しいライセンスが必要です。ライセンス入手に関しては、license@roguewave.com 宛てお問い合わせください。

Klocwork 2017.3 のリリースでは、Windows、Linux、Mac プラットフォームでサポートされる FlexNet Publisher のバージョンをバージョン 2016 R2 (11.14.1.2) にアップグレードしました。AIX および Sun Solaris で使用されている FlexNet Publisher のバージョンは変更されていません。

独自の FlexNet Publisher ライセンスサーバーを使用している場合は、Windows、Linux、および Mac での Klocwork 2018 のインストールは、FlexNet Publisher 2016 R2 (11.14.1.2) 以降と互換性があります。Solaris および AIX で使用される FlexNet Publisher のバージョンは互換性がありません。このため、たとえば、Windows マシン上の Klocwork 統合ビルド解析では、Solaris または AIX 上で動作するライセンスサーバーからライセンスをチェックアウトすることはできません。

詳細については、サポートされる Flex Net Publisher のバージョンを参照してください。

サポートされているコンパイラの改善

次のコンパイラのサポート機能を改善しました。
  • Clang
  • Microsoft Visual C++
  • Wind River GCC

サポートされる C/C++ コンパイラの全リストについては、ビルド統合でサポートされる C/C++ コンパイラを参照してください。

パス API の変更

Klocwork 2016 では、パス API の C++ バージョンについても、数多くの変更が加えられました。「Klocwork C/C++ Path Analysis API Reference(Klocwork C/C++ パス解析 API リファレンス)」の第 2 章には非推奨関数がリストアップされており、それぞれについて代替の関数が記載されています。Klocwork 2017.1 以降、非推奨関数を使用すると、コンパイラ警告ではなくコンパイラエラーが発生します。

もし非推奨関数を使用している場合は、サポートされている関数にすぐに移行することをお奨めします。詳細については、Path API バージョン 11.2 からの重大な変更内容を参照してください。

チェッカーの改善

リリースを重ねるたびに、当社は指摘検出を改善して最先端の機能をお客様に提供しています。結果として、精度とカバレッジが向上すると、解析結果は変わると予想されます。

チェッカーの有効/無効を切り替える

このリリースでチェッカー構成ファイルのデフォルトの enabled フィールドは変更されていません。

分類基準の改善

インストールの一部として、チェッカーを MISRA、CWE、OWASP、DISA STIG などの規格にマップするカスタム分類基準ファイルがいくつか提供されています。以下に、このリリースでの分類基準ファイルの変更のリストを示します。
注: 従来のリリースでカスタム分類基準(たとえば MISRA)をインポートしている場合は、新しい分類基準ファイルをインポートして変更を反映させてください。
分類基準ファイル このリリースにおける変更
disa_stig_10_cxx.tconf and disa_stig_10_cxx_ja.tconf次のチェッカーへの参照を削除しました。
APP3570: コマンドインジェクション
  • SV.EMAIL
  • SV.EXEC
  • SV.EXEC.DIR
  • SV.EXEC.ENV
APP3590.2: バッファオーバーフロー
  • SV.TAINT_NATIVE
disa_stig_10_java.tconf and disa_stig_10_java_ja.tconf

次のチェッカーへの参照を追加しました。

APP3570: コマンドインジェクションの脆弱性
  • SV.EMAIL
  • SV.EXEC
  • SV.EXEC.DIR
  • SV.EXEC.ENV

次のチェッカーへの参照を削除しました。

APP3760 および APP3780: アプリケーションレベルの DoS 攻撃
  • SV.EXEC
  • SV.EXEC.ENV

システム要件の変更

このセクションでは、システム要件の変更を一覧表示します。次のサポートを追加しました。
  • Debian 9.2
  • Ubuntu 17.10
  • Fedora 27
  • CentOS 6.9
  • macOS High Sierra 10.13
  • Android Studio 3.0
  • 2017.2.6
  • Internet Explorer 11.0.47
  • Edge 41.16299.15
  • Mozilla Firefox 57
  • Google Chrome 62.0.3202
次のサポートを削除しました。
  • Debian 7.9、8.5、9.1
  • Red Hat Enterprise Linux 5.11、6.8
  • Ubuntu 16.10、17.04
  • Fedora 23、24
  • OpenSUSE Enterprise 11.2、11.4
  • CentOS 6.7
  • macOS 10.10.5
  • Visual Studio 2008
  • Internet Explorer 11.0.9600、11.0.10240
  • Edge 40.15063
  • Mozilla Firefox 55.0.3
  • Google Chrome 61.0.3163
  • Glibc バージョン 2.15 以前

コマンドおよびオプションへの変更

Kwbuildproject コマンドを removing the --log-file および --resume オプションを削除して変更しました。

Kwbuildproject コマンドを --classic オプションを追加して変更しました。--Classic オプションは、Klocwork が前世代 (Klocwork 2018 より前) の解析エンジンを使用するよう強制します。以前の解析エンジンは、C++11、C++14、および C++17 には一部のサポートしか提供しません。

Klocwork コマンドの詳細については、コマンド リファレンスを参照してください。