1© 2018 Rogue Wave Software, Inc. All Rights Reserved. 1
Klocwork 2018.0
2© 2018 Rogue Wave Software, Inc. All Rights Reserved. 2
Rogue Wave
Klocwork 2018.0
サマリー
Masaru Horioka
Sales Engineering Manager, APAC
Rogue Wave Software
3© 2018 Rogue Wave Software, Inc. All Rights Reserved. 3
はじめに
• Klocwork開発チームはアジャイル開発体制をとっており、1年に1回のメジャーバージョン
アップ、および3ヶ月ごとのマイナーバージョンアップににより、新機能の追加、機能改善、
バグフィクスを行っています。
• 新バージョンを利用するためには有効なサブスクリプション契約または保守契約が必要です。
– メジャーバージョンアップの際にはライセンスファイルが変更されます。
– 永久ライセンスをお持ちのお客様で、有効な保守契約をお持ちで無い場合、新バージョ
ン用のライセンスは発行されませんのでご注意ください。
• Klocwork の製品ライフサイクルは次のWebサイトに記載されています。
https://support.roguewave.com/rw-product-lifecycle/
– 2018年3月現在 , Klocwork (2016.x)11.x およびそれ以前のバージョンはサポート対象外
となっています。
– 継続的な製品の改善と適切なテクニカルサポートを受けるために、お客様自身が計画的
なバージョンアップを行い、常にサポート対象のバージョンを利用されることを強く推
奨いたします。
4© 2018 Rogue Wave Software, Inc. All Rights Reserved. 4
Klocwork 2018における重要な変更
5© 2018 Rogue Wave Software, Inc. All Rights Reserved. 5
ライセンス関連の変更
• Klocwork 2018 用のライセンスが必要になります。ライセンスの入手は
Klocwork担当営業、または販売代理店にご連絡ください。
– C/C++ライセンスのみを保有されているお客様はKlocwork 2018への
アップグレードは可能ですが、C++14/17対応の新エンジン解析をお
使いになることはできません。利用するためにはAll Languageライ
センス購入が必要になります。詳細はKlocwork担当営業までお問い
合わせください。
• Klocwork 2018用ライセンスはKlocwork 11.x 以前のライセンスサーバーで
は動作しません。
– Klocwork 2017以降のライセンスサーバーまたは、FlexNet Publisher
2016 R1 (11.14.0.2) 以降のライセンスサーバーをご利用ください。
• Klocwork 2016 以前からKlocwork 2018に移行される場合、Linux上で追加
パッケージのインストールが必要になります。
– 詳細は "Licensing requirements" をご確認ください。
https://support.roguewave.com/documentation/klocwork/jp/current/su
pportedplatforms/
6© 2018 Rogue Wave Software, Inc. All Rights Reserved. 6
Klocwork 2018.0の
主要なアップデート
7© 2018 Rogue Wave Software, Inc. All Rights Reserved. 7
Klocwork 2018.0 新機能サマリー
• 新C++エンジンの最初のリリース
– 以下の環境において C++ 11, 14 のフルサポートおよび C++ 17 の一部サポート
– サポート環境:
• Linux上の統合ビルド解析 (kwbulidproject)
• Clang ベースのコンパイラ
• 詳細は
https://support.roguewave.com/documentation/klocwork/jp/2018/ccsupportedl
anguagespecifications/
• ビルドの複数バージョンサポート
– KW 2017.1/2/3のkwbuildprojectの解析結果をKW 2018 ポータルサーバー にアップ
ロードすることが可能
– 開発プロジェクトの状況に応じて、利用するKWのバージョンの選択が柔軟になり、
バージョンの違いによる解析結果の不一致を避けることが可能に。
• その他の新機能
https://support.roguewave.com/documentation/klocwork/jp/2018/whatsnewmain/
8© 2018 Rogue Wave Software, Inc. All Rights Reserved. 8
新C++エンジンの補足情報
9© 2018 Rogue Wave Software, Inc. All Rights Reserved. 9
新C++エンジンの補足情報
• 18.0の新エンジンのメリットと想定顧客
– clang based compilers を利用している以下のような開発チームによ
り安定して精度の高い解析を提供
• Android C/C++ platform
• ゲーム (PlayStation 4)
• 組み込み (armclang)
• それ以外のLinux上でclangベースのコンパイラを使用している
開発プロジェクト
• 解析結果の差異は発生するが通常 5%以下
– 新しいエンジンを使用しているため、新しい正しい検地、誤検知は
発生し得る
10© 2018 Rogue Wave Software, Inc. All Rights Reserved. 10
新しいエンジンの指摘例:constexpr
11© 2018 Rogue Wave Software, Inc. All Rights Reserved. 11
新しいエンジンの指摘例: C++17 floating literal
12© 2018 Rogue Wave Software, Inc. All Rights Reserved. 12
繰り返し:重要な制限事項
本番環境で新エンジンを適用するには以下に注意
• 現時点ではLinux のみサポート
• 統合ビルド解析のみサポート (kwbuildproject)
• デスクトップと統合ビルド解析で解析結果の差異が発生し得る
• 統合ビルド解析(kwbuildproject)は "--classic" オプションがあり、旧エンジンの使用を
強制させることができる
• Path チェッカーのみサポート
• Klocwork 2018のkwbuildprojectは新エンジンと旧エンジンのハイブリッドモードで動作
• KAST チェッカーおよびArchitecture解析 (Structure 101 or kwarchitect api ) は旧エン
ジンの結果を使用
• kw 2018.0の新エンジンの利用がフィットする顧客例:linux上でandroid platform
development の開発を行っており、統合ビルド解析の利用がメイン
13© 2018 Rogue Wave Software, Inc. All Rights Reserved. 13
新C++エンジンの2018年ロードマッ
プ
• コンパイラの追加サポート
– gcc based compiler
– cl (Microsoft) compiler support
• デスクトップ解析のサポート
– Klocwork desktop/Eclipse
– VS plugin
14© 2018 Rogue Wave Software, Inc. All Rights Reserved. 14
ビルドの複数バージョンサポート
15© 2018 Rogue Wave Software, Inc. All Rights Reserved. 15
ビルドの複数バージョンサポート
• 複数バージョンの解析エンジンの共存が可能になり、新バージョンへの移行が柔軟に
– 使用例:Klocwork サーバーを2018にバージョンアップ。新しい開発プロジェ
クトは最新版の解析エンジンを使用、継続案件はプロジェクト完了まで2017を
使用。
• プロジェクトごとのチェッカー設定
– 旧バージョンのチェッカー設定を継続使用するための設定手順:
https://support.roguewave.com/documentation/klocwork/jp/current/crossversion
supportforbuilds/
KW Server(2018)KW analysis(2017.1/2/3)
KW analysis(2018)
継続案件
新プロジェクト
16© 2018 Rogue Wave Software, Inc. All Rights Reserved. 16
AUTOSAR C++ 14
17© 2018 Rogue Wave Software, Inc. All Rights Reserved. 17
AUTOSAR C++ 14 サポート
• 制限事項
– TaxonomyはKlocwork 2018.0製品には同梱されていません。
– 2018.1で製品として同梱予定
– 2018.1リリース前にベータ版の提供を検討中
– 新エンジンによるC++ 14 フルサポートはLinux版統合ビルドのみ
• 現在利用可能な代替ソリューションとして、Emenda社がtaxonomyを提供
している。
– http://emenda.com/klocwork-autosar-c14-taxonomy/
18© 2018 Rogue Wave Software, Inc. All Rights Reserved. 18
その他の重要な変更、バグフィクス
19© 2018 Rogue Wave Software, Inc. All Rights Reserved. 19
Important changes/bug fixes
• Taxonomy
– DISA-STIG version 3のマッピングを修正
• コマンド
– kwbuildproject における "--log-file" and "--resume" optionsの廃止. "--resume"
の代わりに "--incremental" の利用を推奨
• サポート環境
– Linux:
• glibc 2.15以上のみサポート
– IDE:
• 新規サポート: Android Studio 3.0, IntelliJ IDEA 2017.2.6
• サポート終了: Visual Studio 2008
• バグフィクス
– C/C++ およびC# 解析中にクラッシュする問題を修正 (Klocworkドキュメント上で
はVisual Studioの問題と書かれている)
20© 2018 Rogue Wave Software, Inc. All Rights Reserved. 20
Klocwork 関連リンク
• 新機能
– https://support.roguewave.com/documentation/klocwork/jp/current/whats
newmain/
• 最新版で修正された問題
– https://support.roguewave.com/documentation/klocwork/jp/current/fixedis
sues/
• Klocwork download site
– https://developer.klocwork.com/
• Klocworkの評価のお申込み
– https://www.roguewave.jp/products-services/request-evaluation
21© 2018 Rogue Wave Software, Inc. All Rights Reserved. 21

Klocwork 2018.0 アップデート

  • 1.
    1© 2018 RogueWave Software, Inc. All Rights Reserved. 1 Klocwork 2018.0
  • 2.
    2© 2018 RogueWave Software, Inc. All Rights Reserved. 2 Rogue Wave Klocwork 2018.0 サマリー Masaru Horioka Sales Engineering Manager, APAC Rogue Wave Software
  • 3.
    3© 2018 RogueWave Software, Inc. All Rights Reserved. 3 はじめに • Klocwork開発チームはアジャイル開発体制をとっており、1年に1回のメジャーバージョン アップ、および3ヶ月ごとのマイナーバージョンアップににより、新機能の追加、機能改善、 バグフィクスを行っています。 • 新バージョンを利用するためには有効なサブスクリプション契約または保守契約が必要です。 – メジャーバージョンアップの際にはライセンスファイルが変更されます。 – 永久ライセンスをお持ちのお客様で、有効な保守契約をお持ちで無い場合、新バージョ ン用のライセンスは発行されませんのでご注意ください。 • Klocwork の製品ライフサイクルは次のWebサイトに記載されています。 https://support.roguewave.com/rw-product-lifecycle/ – 2018年3月現在 , Klocwork (2016.x)11.x およびそれ以前のバージョンはサポート対象外 となっています。 – 継続的な製品の改善と適切なテクニカルサポートを受けるために、お客様自身が計画的 なバージョンアップを行い、常にサポート対象のバージョンを利用されることを強く推 奨いたします。
  • 4.
    4© 2018 RogueWave Software, Inc. All Rights Reserved. 4 Klocwork 2018における重要な変更
  • 5.
    5© 2018 RogueWave Software, Inc. All Rights Reserved. 5 ライセンス関連の変更 • Klocwork 2018 用のライセンスが必要になります。ライセンスの入手は Klocwork担当営業、または販売代理店にご連絡ください。 – C/C++ライセンスのみを保有されているお客様はKlocwork 2018への アップグレードは可能ですが、C++14/17対応の新エンジン解析をお 使いになることはできません。利用するためにはAll Languageライ センス購入が必要になります。詳細はKlocwork担当営業までお問い 合わせください。 • Klocwork 2018用ライセンスはKlocwork 11.x 以前のライセンスサーバーで は動作しません。 – Klocwork 2017以降のライセンスサーバーまたは、FlexNet Publisher 2016 R1 (11.14.0.2) 以降のライセンスサーバーをご利用ください。 • Klocwork 2016 以前からKlocwork 2018に移行される場合、Linux上で追加 パッケージのインストールが必要になります。 – 詳細は "Licensing requirements" をご確認ください。 https://support.roguewave.com/documentation/klocwork/jp/current/su pportedplatforms/
  • 6.
    6© 2018 RogueWave Software, Inc. All Rights Reserved. 6 Klocwork 2018.0の 主要なアップデート
  • 7.
    7© 2018 RogueWave Software, Inc. All Rights Reserved. 7 Klocwork 2018.0 新機能サマリー • 新C++エンジンの最初のリリース – 以下の環境において C++ 11, 14 のフルサポートおよび C++ 17 の一部サポート – サポート環境: • Linux上の統合ビルド解析 (kwbulidproject) • Clang ベースのコンパイラ • 詳細は https://support.roguewave.com/documentation/klocwork/jp/2018/ccsupportedl anguagespecifications/ • ビルドの複数バージョンサポート – KW 2017.1/2/3のkwbuildprojectの解析結果をKW 2018 ポータルサーバー にアップ ロードすることが可能 – 開発プロジェクトの状況に応じて、利用するKWのバージョンの選択が柔軟になり、 バージョンの違いによる解析結果の不一致を避けることが可能に。 • その他の新機能 https://support.roguewave.com/documentation/klocwork/jp/2018/whatsnewmain/
  • 8.
    8© 2018 RogueWave Software, Inc. All Rights Reserved. 8 新C++エンジンの補足情報
  • 9.
    9© 2018 RogueWave Software, Inc. All Rights Reserved. 9 新C++エンジンの補足情報 • 18.0の新エンジンのメリットと想定顧客 – clang based compilers を利用している以下のような開発チームによ り安定して精度の高い解析を提供 • Android C/C++ platform • ゲーム (PlayStation 4) • 組み込み (armclang) • それ以外のLinux上でclangベースのコンパイラを使用している 開発プロジェクト • 解析結果の差異は発生するが通常 5%以下 – 新しいエンジンを使用しているため、新しい正しい検地、誤検知は 発生し得る
  • 10.
    10© 2018 RogueWave Software, Inc. All Rights Reserved. 10 新しいエンジンの指摘例:constexpr
  • 11.
    11© 2018 RogueWave Software, Inc. All Rights Reserved. 11 新しいエンジンの指摘例: C++17 floating literal
  • 12.
    12© 2018 RogueWave Software, Inc. All Rights Reserved. 12 繰り返し:重要な制限事項 本番環境で新エンジンを適用するには以下に注意 • 現時点ではLinux のみサポート • 統合ビルド解析のみサポート (kwbuildproject) • デスクトップと統合ビルド解析で解析結果の差異が発生し得る • 統合ビルド解析(kwbuildproject)は "--classic" オプションがあり、旧エンジンの使用を 強制させることができる • Path チェッカーのみサポート • Klocwork 2018のkwbuildprojectは新エンジンと旧エンジンのハイブリッドモードで動作 • KAST チェッカーおよびArchitecture解析 (Structure 101 or kwarchitect api ) は旧エン ジンの結果を使用 • kw 2018.0の新エンジンの利用がフィットする顧客例:linux上でandroid platform development の開発を行っており、統合ビルド解析の利用がメイン
  • 13.
    13© 2018 RogueWave Software, Inc. All Rights Reserved. 13 新C++エンジンの2018年ロードマッ プ • コンパイラの追加サポート – gcc based compiler – cl (Microsoft) compiler support • デスクトップ解析のサポート – Klocwork desktop/Eclipse – VS plugin
  • 14.
    14© 2018 RogueWave Software, Inc. All Rights Reserved. 14 ビルドの複数バージョンサポート
  • 15.
    15© 2018 RogueWave Software, Inc. All Rights Reserved. 15 ビルドの複数バージョンサポート • 複数バージョンの解析エンジンの共存が可能になり、新バージョンへの移行が柔軟に – 使用例:Klocwork サーバーを2018にバージョンアップ。新しい開発プロジェ クトは最新版の解析エンジンを使用、継続案件はプロジェクト完了まで2017を 使用。 • プロジェクトごとのチェッカー設定 – 旧バージョンのチェッカー設定を継続使用するための設定手順: https://support.roguewave.com/documentation/klocwork/jp/current/crossversion supportforbuilds/ KW Server(2018)KW analysis(2017.1/2/3) KW analysis(2018) 継続案件 新プロジェクト
  • 16.
    16© 2018 RogueWave Software, Inc. All Rights Reserved. 16 AUTOSAR C++ 14
  • 17.
    17© 2018 RogueWave Software, Inc. All Rights Reserved. 17 AUTOSAR C++ 14 サポート • 制限事項 – TaxonomyはKlocwork 2018.0製品には同梱されていません。 – 2018.1で製品として同梱予定 – 2018.1リリース前にベータ版の提供を検討中 – 新エンジンによるC++ 14 フルサポートはLinux版統合ビルドのみ • 現在利用可能な代替ソリューションとして、Emenda社がtaxonomyを提供 している。 – http://emenda.com/klocwork-autosar-c14-taxonomy/
  • 18.
    18© 2018 RogueWave Software, Inc. All Rights Reserved. 18 その他の重要な変更、バグフィクス
  • 19.
    19© 2018 RogueWave Software, Inc. All Rights Reserved. 19 Important changes/bug fixes • Taxonomy – DISA-STIG version 3のマッピングを修正 • コマンド – kwbuildproject における "--log-file" and "--resume" optionsの廃止. "--resume" の代わりに "--incremental" の利用を推奨 • サポート環境 – Linux: • glibc 2.15以上のみサポート – IDE: • 新規サポート: Android Studio 3.0, IntelliJ IDEA 2017.2.6 • サポート終了: Visual Studio 2008 • バグフィクス – C/C++ およびC# 解析中にクラッシュする問題を修正 (Klocworkドキュメント上で はVisual Studioの問題と書かれている)
  • 20.
    20© 2018 RogueWave Software, Inc. All Rights Reserved. 20 Klocwork 関連リンク • 新機能 – https://support.roguewave.com/documentation/klocwork/jp/current/whats newmain/ • 最新版で修正された問題 – https://support.roguewave.com/documentation/klocwork/jp/current/fixedis sues/ • Klocwork download site – https://developer.klocwork.com/ • Klocworkの評価のお申込み – https://www.roguewave.jp/products-services/request-evaluation
  • 21.
    21© 2018 RogueWave Software, Inc. All Rights Reserved. 21