Download - Klocwork 2017.0アップデート
1© 2017 Rogue Wave Software, Inc. All Rights Reserved.
1
Klocwork 2017.0
2© 2017 Rogue Wave Software, Inc. All Rights Reserved.
2
Klocwork 2017.0 のご紹介
Masaru HoriokaSenior Sales Engineer – APACRogue Wave Software
3© 2017 Rogue Wave Software, Inc. All Rights Reserved.
3
はじめに• Klocwork 開発チームはアジャイル開発体制をとっており、1年に1回のメ
ジャーバージョンアップ、および3ヶ月ごとのマイナーバージョンアップににより、新機能の追加、機能改善、バグフィクスを行っています。
• 新バージョンを利用するためには有効なサブスクリプション契約または保守契約が必要です。– メジャーバージョンアップの際にはライセンスファイルが変更されます。– 永久ライセンスをお持ちのお客様で、有効な保守契約をお持ちで無い
場合、新バージョン用のライセンスは発行されませんのでご注意ください。
4© 2017 Rogue Wave Software, Inc. All Rights Reserved.
4
Klocwork 12.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 の認識が可能
6© 2017 Rogue Wave Software, Inc. All Rights Reserved.
6
重要な変更
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/
8© 2017 Rogue Wave Software, Inc. All Rights Reserved.
8
SmartRank (スマートランク)
9© 2017 Rogue Wave Software, Inc. All Rights Reserved.
9
SmartRank が開発された背景• 課題
– 静的解析を十分に活用できない原因• 指摘件数に対して、静的解
析の結果を確認する十分な時間が取れない
– よくある現実• 複雑な指摘が本当に問題で
あるかどうかは、静的解析の結果だけでは判断しづらい。デバッガー等で追いながらの検証が必要
10© 2017 Rogue Wave Software, Inc. All Rights Reserved.
10
単純な指摘– 問題の理解も修正も容易
11© 2017 Rogue Wave Software, Inc. All Rights Reserved.
11
複雜な指摘 – 問題の理解と修正に時間がかかる
12© 2017 Rogue Wave Software, Inc. All Rights Reserved.
12
SmartRank (スマートランク) 概要• 優先的にレビューすべき指摘(理解が容易で
バグの可能性が高い)指摘をピックアップ• 簡単な動作原理
– 解析エンジンが発見された指摘に対して指摘の複雑度や確からしさを加味したスコアを付与
– スコアのしきい値により指摘をフィルタリング
– スコア順に指摘を並び替える• ※ 既存の解析済みプロジェクトに対して、
本機能を利用するためには、 Klocwork 2017 による再解析が必要
13© 2017 Rogue Wave Software, Inc. All Rights Reserved.
13
使い方:プロジェクト毎にスマートランクのSensitivity( スコアのしきい値 ) 設定Sensitivity : low = スコアが高いもののみ抽出
14© 2017 Rogue Wave Software, Inc. All Rights Reserved.
14
使い方: SmartRank チェックボックをオンにする
フィルタ(足切り)& 並び替え
15© 2017 Rogue Wave Software, Inc. All Rights Reserved.
15
使い方:リストの上から順に指摘を確認簡単& 信頼度高
複雜
16© 2017 Rogue Wave Software, Inc. All Rights Reserved.
16
何がうれしいのか?• 静的解析の ROI = 修正件数• 簡単な指摘から順にレビュー可能になるので、少ない時間でより多くの指摘のレビューおよび修正が可能
17© 2017 Rogue Wave Software, Inc. All Rights Reserved.
17
ユースケース• UC 1 – 小規模プロジェクトの場合
– SmartRank をオンにして、解析結果をレビュー&修正– SmartRank でピックアップされなかったものは defer扱い
• UC 2 – 大規模ミッションクリティカルプロジェクトの場合– 新規指摘に対しては全ての指摘をレビュー– レガシー(過去出荷済みのコードに含まれる)指摘に対して
は、 SmartRank を活用し、指摘の優先付けを行う。• 例えば検索条件で、特定の分類基準カテゴリや、チェッカーで
フィルタリングした後、 SmartRank を適用し、より重大な(起きうる確率が高い)指摘に対するレビュー・修正を行う。
18© 2017 Rogue Wave Software, Inc. All Rights Reserved.
18
動画 : Introduction to SmartRank (英語)• https://support.roguewave.com/resources/videos/introduction-to-s
martrank/
19© 2017 Rogue Wave Software, Inc. All Rights Reserved.
19
解析エンジンの改善
20© 2017 Rogue Wave Software, Inc. All Rights Reserved.
20
新 MISRA 2012 チェッカー• Rule 13.3 (Advisory) への対応• MISRA.INCR_DECR.SIDEEFF.2012
21© 2017 Rogue Wave Software, Inc. All Rights Reserved.
21
新 MISRA 2012 チェッカー• Rule 17.8 (Advisory): への対応• MISRA.FUNC.MODIFIEDPAR.2012
22© 2017 Rogue Wave Software, Inc. All Rights Reserved.
22
新 MISRA 2012 チェッカー• Rule 18.4 (Advisory): への対応• MISRA.PTR.ARITH.2012
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
24© 2017 Rogue Wave Software, Inc. All Rights Reserved.
24
新 MISRA 2012 チェッカー• Rule 22.6 (Mandatory): への対応• MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012
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/
•
26© 2017 Rogue Wave Software, Inc. All Rights Reserved.
26
新しいプラットフォームのサポート
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
28© 2017 Rogue Wave Software, Inc. All Rights Reserved.
28
ユーザビリティの改善
29© 2017 Rogue Wave Software, Inc. All Rights Reserved.
29
Visual Studio Plugin の改善 • Visual Studio 2010 以降向けの新しいプラグインの改
善–サーバー指摘の同期パフォーマンス向上–ラベルの変更
• Desktop で発見された指摘、 Server 解析でのみ発見された指摘件数をわかりやすく表示
30© 2017 Rogue Wave Software, Inc. All Rights Reserved.
30
その他
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
32© 2017 Rogue Wave Software, Inc. All Rights Reserved.
32