32
1 © 2017 Rogue Wave Software, Inc. All Rights Reserved. 1 Klocwork 2017.0

Klocwork 2017.0アップデート

Embed Size (px)

Citation preview

Page 1: Klocwork 2017.0アップデート

1© 2017 Rogue Wave Software, Inc. All Rights Reserved.

1

Klocwork 2017.0

Page 2: Klocwork 2017.0アップデート

2© 2017 Rogue Wave Software, Inc. All Rights Reserved.

2

Klocwork 2017.0 のご紹介

Masaru HoriokaSenior Sales Engineer – APACRogue Wave Software

Page 3: Klocwork 2017.0アップデート

3© 2017 Rogue Wave Software, Inc. All Rights Reserved.

3

はじめに• Klocwork 開発チームはアジャイル開発体制をとっており、1年に1回のメ

ジャーバージョンアップ、および3ヶ月ごとのマイナーバージョンアップににより、新機能の追加、機能改善、バグフィクスを行っています。

• 新バージョンを利用するためには有効なサブスクリプション契約または保守契約が必要です。– メジャーバージョンアップの際にはライセンスファイルが変更されます。– 永久ライセンスをお持ちのお客様で、有効な保守契約をお持ちで無い

場合、新バージョン用のライセンスは発行されませんのでご注意ください。

Page 4: Klocwork 2017.0アップデート

4© 2017 Rogue Wave Software, Inc. All Rights Reserved.

4

Klocwork 12.0 の新機能

Page 5: Klocwork 2017.0アップデート

5© 2017 Rogue Wave Software, Inc. All Rights Reserved.

5

Klocwork 2017.0 (12.0) 新機能• SmartRank (スマートランク) 機能

– Klocwork ポータル上で優先的に確認すべき指摘をピックアップし、静的解析結果のレビュー効率を向上させます。

• 解析エンジンの改善– MISRA C 2012 および MISRA C 2012 amendment に対応するチェッカーおよび分類

基準の追加– C/C++ 解析エンジンの解析時間を平均 10% 削減– 既存チェッカーの精度向上– C++11 対応の改善と C# 6.0 サポート

• サポートプラットフォームの拡充– Klocwork Jenkins plugin の Mac OS X 対応– C/C++ コンパイラおよびサポート OS の拡充

• ユーザビリティの改善– Visual Studio 2010 以降対応のプラグインの UI をよりわかりやすく

• ライセンスに関する注意– Klocwork 2017 license は FlexNet Publisher 2016 R1 (11.14.0.2) 以降のみ動作

(古いライセンスサーバーでは動作しない)– Linux 上で ethX 以外の hostid の認識が可能

Page 6: Klocwork 2017.0アップデート

6© 2017 Rogue Wave Software, Inc. All Rights Reserved.

6

重要な変更

Page 7: Klocwork 2017.0アップデート

7© 2017 Rogue Wave Software, Inc. All Rights Reserved.

7

ライセンスサーバーの動作要件の変更• Klocwork 2017 向けのライセンスが必要になります。ライセンスの入手は Klocwork 担当営業、または販売代理店にご連絡ください。• Klocwork 2017 向けライセンスは Klocwork 11.x 以前のライセンスサーバーでは動作しません。

– Klocwork 2017 のライセンスサーバーまたは、 FlexNet Publisher 2016 R1 (11.14.0.2) 以降のライセンスサーバーをご利用ください。

• Linux 上で追加パッケージのインストールが必要になります。– 詳細は "Licensing requirements" をご確認ください。 https

://support.roguewave.com/documentation/klocwork/en/current/supportedplatforms/

Page 8: Klocwork 2017.0アップデート

8© 2017 Rogue Wave Software, Inc. All Rights Reserved.

8

SmartRank (スマートランク)

Page 9: Klocwork 2017.0アップデート

9© 2017 Rogue Wave Software, Inc. All Rights Reserved.

9

SmartRank が開発された背景• 課題

– 静的解析を十分に活用できない原因• 指摘件数に対して、静的解

析の結果を確認する十分な時間が取れない

– よくある現実• 複雑な指摘が本当に問題で

あるかどうかは、静的解析の結果だけでは判断しづらい。デバッガー等で追いながらの検証が必要

Page 10: Klocwork 2017.0アップデート

10© 2017 Rogue Wave Software, Inc. All Rights Reserved.

10

単純な指摘– 問題の理解も修正も容易

Page 11: Klocwork 2017.0アップデート

11© 2017 Rogue Wave Software, Inc. All Rights Reserved.

11

複雜な指摘 – 問題の理解と修正に時間がかかる

Page 12: Klocwork 2017.0アップデート

12© 2017 Rogue Wave Software, Inc. All Rights Reserved.

12

SmartRank (スマートランク) 概要• 優先的にレビューすべき指摘(理解が容易で

バグの可能性が高い)指摘をピックアップ• 簡単な動作原理

– 解析エンジンが発見された指摘に対して指摘の複雑度や確からしさを加味したスコアを付与

– スコアのしきい値により指摘をフィルタリング

– スコア順に指摘を並び替える• ※ 既存の解析済みプロジェクトに対して、

本機能を利用するためには、 Klocwork 2017 による再解析が必要

Page 13: Klocwork 2017.0アップデート

13© 2017 Rogue Wave Software, Inc. All Rights Reserved.

13

使い方:プロジェクト毎にスマートランクのSensitivity( スコアのしきい値 ) 設定Sensitivity : low = スコアが高いもののみ抽出

Page 14: Klocwork 2017.0アップデート

14© 2017 Rogue Wave Software, Inc. All Rights Reserved.

14

使い方: SmartRank チェックボックをオンにする

フィルタ(足切り)& 並び替え

Page 15: Klocwork 2017.0アップデート

15© 2017 Rogue Wave Software, Inc. All Rights Reserved.

15

使い方:リストの上から順に指摘を確認簡単& 信頼度高

 複雜

Page 16: Klocwork 2017.0アップデート

16© 2017 Rogue Wave Software, Inc. All Rights Reserved.

16

何がうれしいのか?• 静的解析の ROI = 修正件数• 簡単な指摘から順にレビュー可能になるので、少ない時間でより多くの指摘のレビューおよび修正が可能

Page 17: Klocwork 2017.0アップデート

17© 2017 Rogue Wave Software, Inc. All Rights Reserved.

17

ユースケース• UC 1 – 小規模プロジェクトの場合

– SmartRank をオンにして、解析結果をレビュー&修正– SmartRank でピックアップされなかったものは defer扱い

• UC 2 – 大規模ミッションクリティカルプロジェクトの場合– 新規指摘に対しては全ての指摘をレビュー– レガシー(過去出荷済みのコードに含まれる)指摘に対して

は、 SmartRank を活用し、指摘の優先付けを行う。• 例えば検索条件で、特定の分類基準カテゴリや、チェッカーで

フィルタリングした後、 SmartRank を適用し、より重大な(起きうる確率が高い)指摘に対するレビュー・修正を行う。

Page 18: Klocwork 2017.0アップデート

18© 2017 Rogue Wave Software, Inc. All Rights Reserved.

18

動画 : Introduction to SmartRank (英語)• https://support.roguewave.com/resources/videos/introduction-to-s

martrank/

Page 19: Klocwork 2017.0アップデート

19© 2017 Rogue Wave Software, Inc. All Rights Reserved.

19

解析エンジンの改善

Page 20: Klocwork 2017.0アップデート

20© 2017 Rogue Wave Software, Inc. All Rights Reserved.

20

新 MISRA 2012 チェッカー• Rule 13.3 (Advisory)  への対応• MISRA.INCR_DECR.SIDEEFF.2012

Page 21: Klocwork 2017.0アップデート

21© 2017 Rogue Wave Software, Inc. All Rights Reserved.

21

新 MISRA 2012 チェッカー• Rule 17.8 (Advisory): への対応• MISRA.FUNC.MODIFIEDPAR.2012

Page 22: Klocwork 2017.0アップデート

22© 2017 Rogue Wave Software, Inc. All Rights Reserved.

22

新 MISRA 2012 チェッカー• Rule 18.4 (Advisory): への対応• MISRA.PTR.ARITH.2012

Page 23: Klocwork 2017.0アップデート

23© 2017 Rogue Wave Software, Inc. All Rights Reserved.

23

新 MISRA 2012 チェッカー• Rule 21.12 (Advisory): への対応• MISRA.STDLIB.FENV.2012• MISRA.STDLIB.FENV.MACRO.2012

Page 24: Klocwork 2017.0アップデート

24© 2017 Rogue Wave Software, Inc. All Rights Reserved.

24

新 MISRA 2012 チェッカー• Rule 22.6 (Mandatory): への対応• MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012

Page 25: Klocwork 2017.0アップデート

25© 2017 Rogue Wave Software, Inc. All Rights Reserved.

25

その他の改善• MISRA C 2012 amendment 分類基準• C/C++ 解析時間 10% 削減• データフロー解析(数値レンジ解析)の改善による解析精度向

上• 改善された C++11 and C# 6.0 対応• 改善されたリスト詳細は以下 ( チェッカーに関する項目を参照 )

– https://support.roguewave.com/documentation/klocwork/jp/current/whatsnewmain/

– https://support.roguewave.com/documentation/klocwork/jp/current/fixedissues/

Page 26: Klocwork 2017.0アップデート

26© 2017 Rogue Wave Software, Inc. All Rights Reserved.

26

新しいプラットフォームのサポート

Page 27: Klocwork 2017.0アップデート

27© 2017 Rogue Wave Software, Inc. All Rights Reserved.

27

新しくサポートされたプラットフォーム• Klocwork CI Plugin の Mac OS 対応• コンパイラ

– HI-CROSS+ Motorola HC16– MPLAB XC16 C– Nintendo N32 and N64

• OS/IDE– Windows 10 Anniversary– Windows Server 2016– Ubuntu 16.10– Fedora 25– AIX 7.1 TL 4– Eclipse 4.6.2

Page 28: Klocwork 2017.0アップデート

28© 2017 Rogue Wave Software, Inc. All Rights Reserved.

28

ユーザビリティの改善

Page 29: Klocwork 2017.0アップデート

29© 2017 Rogue Wave Software, Inc. All Rights Reserved.

29

Visual Studio Plugin の改善 • Visual Studio 2010 以降向けの新しいプラグインの改

善–サーバー指摘の同期パフォーマンス向上–ラベルの変更

• Desktop で発見された指摘、 Server 解析でのみ発見された指摘件数をわかりやすく表示

Page 30: Klocwork 2017.0アップデート

30© 2017 Rogue Wave Software, Inc. All Rights Reserved.

30

その他

Page 31: Klocwork 2017.0アップデート

31© 2017 Rogue Wave Software, Inc. All Rights Reserved.

31

Klocwork ドキュメンテーション• 最新マニュアル

– https://support.roguewave.com/documentation/klocwork/jp/current/

• 新機能– https

://support.roguewave.com/documentation/klocwork/jp/current/whatsnewmain/

• 修正された問題– https://support.roguewave.com/documentation/klocwork/jp/current/fixedissues

/

• 製品情報、トライアルのお問い合わせ– http://roguewave.jp/products-services/klocwork

Page 32: Klocwork 2017.0アップデート

32© 2017 Rogue Wave Software, Inc. All Rights Reserved.

32