EN JP CN

新機能 Klocwork 2018.1

新機能 Klocwork 2018.1

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

AUTOSAR 分類基準

このリリースでは、標準 Klocwork C/C++ および MISRA チェッカーを、AUTOSAR C++14 Standard にマップする AUTOSAR 分類基準を導入しました。詳細に関しては、Klocwork C/C++ チェッカーにマッピングされたAUTOSAR 標準 を参照してください。

解析エンジンの改善

最新C++ 標準サポートのための弊社のコミットメントは継続されます。このリリースで、C++17 言語機能を完全にサポートすることを発表できることは、喜ばしいことです。詳細は以下をご覧ください:サポートされる C++ 言語仕様

Web API メトリック

Web API メトリックリクエストに exclude_system_files という名前のオプションパラメータを追加しました。true に設定すると、リクエストはメトリックからシステムファイルを除外します。詳細は、指摘とメトリック API の例を参照してください。

ライセンス

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

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

以下のコンパイラについてサポートを開始しました。
  • STM8 マイクロコントローラファミリー用 IAR コンパイラ/リンカー

次のコンパイラのサポート機能を改善しました。

  • Clang
  • GNU (GCC)

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

チェッカーの改善

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

新しいチェッカー

チェッカー 説明
MISRA.STDLIB.ILLEGAL_REUSE.2012_AMD1

MISRA C 2012 規則 21.20 の実装:標準ライブラリ関数 asctime、ctime、gmtime、localtime、localeconv、getenv、setlocale または strerror によって返されるポインタは、同じ関数の後続の呼び出しに続いては使用しません。

変更されたチェッカー

チェッカー 説明
MISRA.FOR.INCR.CHANGE

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

MISRA.IF.NO_ELSE

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

MISRA.SWITCH.WELL_FORMED.DEFAULT.FIRST_OR_LAST.2012

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

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

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

分類基準の改善

インストールの一部として、チェッカーを MISRA、CWE、OWASP、DISA STIG などの規格にマップするカスタム分類基準ファイルがいくつか提供されています。以下に、このリリースでの分類基準ファイルの変更のリストを示します。
注: 従来のリリースでカスタム分類基準 (たとえば MISRA) をインポートしている場合は、新しい分類基準ファイルをインポートして変更を反映させてください。
分類基準ファイル このリリースにおける変更
autosar_cpp.tconf および autosar_cpp_ja.tconfこれは、Klocwork C/C++ および MISRA チェッカーを AUTOSAR C++14 Standard、リリース 17-10 にマップする新しい分類基準です。
disa_stig_v4_java.tconf および disa_stig_v4_java_ja.tconf次のチェッカーへの参照を追加しました。
APSC-DV-002030: 暗号化
  • SV.HASH.NO_SALT
  • SV.SENSITIVE.DATA
  • SV.SENSITIVE.OBJ
  • SV.WEAK.CRYPT
cwe_10_cxx.tonf および cwe_10_cxx_ja.tonf

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

CWE-1037: プロセッサー最適化削除、またはセキュリティクリティカルコードの変更

  • SPECTRE.VARIANT1
misra_c_2012_with_amd1_c90.tconf および misra_c_2012_with_amd1_c90_ja.tconf

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

MISRA C 2012 Rule 21.20: 標準ライブラリ関数 asctime、ctime、gmtime、localtime、localeconv、getenv、setlocale または strerror によって返されるポインタは、同じ関数の後続の呼び出しに続いては使用しません

  • MISRA.STDLIB.ILLEGAL_REUSE.2012_AMD1
misra_c_2012_with_amd1_c99.tconf および misra_c_2012_with_amd1_c99_ja.tconf

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

MISRA C 2012 Rule 21.20: 標準ライブラリ関数 asctime、ctime、gmtime、localtime、localeconv、getenv、setlocale または strerror によって返されるポインタは、同じ関数の後続の呼び出しに続いては使用しません

  • MISRA.STDLIB.ILLEGAL_REUSE.2012_AMD1

システム要件の変更

このセクションでは、システム要件の変更を一覧表示します。次のサポートを追加しました。
  • Debian 8.10 および 9.4
  • OpenSUSE 12.3 (Ent)
  • Ubuntu 14.04.05 および 16.04.03
  • Windows 7 Service Pack 1
  • Windows 10 version 1709
  • IBM AIX 7.1 TL 5 および 7.2 TL 2
  • Eclipse 4.7.3
  • QNX Software Dev Platform 7.0

コマンド、ツール、およびオプションへの変更

弊社は、kwciagent という名前の新しいコマンドを追加しました。

kwscope ツールは削除されました。

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