SlideShare uma empresa Scribd logo
1 de 38
1© 2017 Rogue Wave Software, Inc. All Rights Reserved. 1
22002-2014 Rogue Wave Software, Inc. All Rights Reserved. 22002-2014 Rogue Wave Software, Inc. All Rights Reserved.
Klocwork
Static Code Analysisによる
コーディング品質向上
自動化ソリューションのご紹介
32002-2014 Rogue Wave Software, Inc. All Rights Reserved. 32002-2014 Rogue Wave Software, Inc. All Rights Reserved.
静的コード解析とは
4© 2017 Rogue Wave Software, Inc. All Rights Reserved. 4
2014年2月25日IT Media社のニュースの記事より
Twitter上の反応
5© 2017 Rogue Wave Software, Inc. All Rights Reserved. 5
Goto Fail問題の静的解析による指摘例
6© 2017 Rogue Wave Software, Inc. All Rights Reserved. 6
静的解析ツールとは?
ソースコードを解析し、ソフトウェアを実行することなく欠陥(主に
プログラミングエラー)を自動的に発見する
テストツールまるわかり
ガイド(入門編)より
7© 2017 Rogue Wave Software, Inc. All Rights Reserved. 7
静的コード解析が注目されている理由1
課題
• 短納期化、アジャイル開発への対応
• 派生開発、大規模化、複雑化(OSS、第三者コードとの統合)
静的解析導入のメリット
• 網羅的な自動実行可能、コード変更毎のくり返し実行が容易
– 単体テストと並び継続的インテグレーションでの実行が容易
• 人手によるコードレビューや、既存のテスト手法ではカバーしにくい領域を補完
8© 2017 Rogue Wave Software, Inc. All Rights Reserved. 8
静的コード解析が注目されている理由2
主要な業界標準の順守
• MISRA, CERT, CWE, OWASP
• SAMATE DISA STIG
• DO-178B, FDA validation
• …その他
近年納入条件の一つとして「静的解析ツールの利用とそのエビデンス
の提供」が指定されるケースが増えてきている
92002-2014 Rogue Wave Software, Inc. All Rights Reserved. 92002-2014 Rogue Wave Software, Inc. All Rights Reserved.
静的解析ツール
Klocworkとその特徴
10© 2017 Rogue Wave Software, Inc. All Rights Reserved. 10
Klocworkの特徴
• C/C++、C# および Java 向けの数百のチェッカー
– 充実した組み込みコンパイラサポート対応
• セキュリティ、信頼性の問題、コーディング標準(MISRA, CWE, CERT, OWASP)を1
ツールでカバー
• 最先端のデスクトップ解析
• ビルドサーバー、ユーザーベース課金(行数、プロジェクト数無制限)
• MISRA, DISA STIG, CWE,
CERT
• デッドコード
• 未到達コード
• 使用されない計算済みの変
数
• 使用されていない関数の引
数
• …
コーディング標準
& 保守性
• メモリー・リソースリーク
• メモリ破壊
• 並行処理の問題
• 無限ループ
• NULLポインタの間接参照
• 未初期化の変数…
信頼性
• バッファオーバーフロー
• 検査されていない入力値の
使用
• SQLインジェクション
• Pathインジェクション
• Fileインジェクション
• クロスサイトスクリプティ
ング
• 脆弱性を生むコーディング
作法
セキュリティ
11© 2017 Rogue Wave Software, Inc. All Rights Reserved. 11
Klocwork製品構成
統合ビルド
解析
デスクトップ解析
不具合管理サーバー
ライセンスサーバー
管理者、
チーム開発向け(品質
の可視化および管理、
エビデンス)
開発者向け(バグの発見および修正)
継続的インテグ
レーション解析
12© 2017 Rogue Wave Software, Inc. All Rights Reserved. 12
様々な環境で利用可能なデスクトップ解析
Visual Studio, Eclipse 向けプラグインに加え、その他の任意のエディタと併
用可能なKlocwork Desktopを提供
Visual Studio、Eclipseでは
IDE内から解析の実行が可能
13© 2017 Rogue Wave Software, Inc. All Rights Reserved. 13
Jenkins上の高速差分解析
14© 2017 Rogue Wave Software, Inc. All Rights Reserved. 14
Jenkins上の高速差分解析
15© 2017 Rogue Wave Software, Inc. All Rights Reserved. 15
静的解析ツール利用のアンチパターン
開発サイクル
編集 保存
コンパイ
ル
テスト
チェック
イン
ビルド
解析
& 修正
ポイント:
• 開発フェーズの最後に解析(&修正)
• 修正による“手戻り”が発生するため修正されないまま
放置、または、修正コストが高くつく
• MISRAやCERT-Cルールは100以上のチェック項目
• ツールの活用が進まない
• 開発スピードの低下、改善されない品質、低いROI
16© 2017 Rogue Wave Software, Inc. All Rights Reserved. 16
Klocwork: デスクトップ解析+継続的インテグレーション
コード変更
コンパイル
解析&
修正
単体
テスト
チェック
イン
開発者 1
コード変更
コンパイル
解析&
修正
単体
テスト
チェック
イン
統合
解析
開発者 2
Time
統合
解析
チェック
イン
コード変更
コンパイル
コード変更
コンパイル
解析
修正
コード変更
コンパイル
解析&
修正
単体
テスト
C
ック
ン
 手戻りを最小化し、開発スピードを低下させない
 統合レベルではいつもプログラミングエラー・規約違反フリー
継続的インテグレーションサーバー
17© 2017 Rogue Wave Software, Inc. All Rights Reserved. 17
コーディング段階から品質の
見える化
• 指摘の種類の分析
• 指摘数の推移
• 修正、利用状況の管理
• 複雑度等メトリクス取得
品質を見える化するためのレポーティング機能
18© 2017 Rogue Wave Software, Inc. All Rights Reserved. 18
Klocworkを利用した静的解析環境構築例
ソースコード
管理システム
チェックアウト
チェックイン
ビルドサーバー:
統合ビルド解析
開発者:デスク
トップ解析
修正&
解析&
確認
Jenkins
等による
自動化
課題管理/プ
ロジェクト管
理システム
連携
電子メールによる新
規不具合、担当者割
当通知
品質状況の確認
モジュールにまた
がる不具合の発見
チェック
イン前の
品質向上
19© 2017 Rogue Wave Software, Inc. All Rights Reserved. 19
Klocwork: バグの発見&修正を”シフトレフト”
Klocworkデスクトップ&
継続的インテグレーション解析
欠陥の早期発見、
早期修正が可能
ここで修正している
とコスト高
従来の静的解析ツール
202002-2014 Rogue Wave Software, Inc. All Rights Reserved. 202002-2014 Rogue Wave Software, Inc. All Rights Reserved.
デモ
21© 2017 Rogue Wave Software, Inc. All Rights Reserved. 21
環境、対応コンパイラ
ハードウェア要件
CPU:1 GHz 以上 (Intel Core i5同等かそれ以上を推奨。大規模環境では4コア以上のCPUを推
奨)
メモリ:解析環境: 最小 1GB (コア数*1GBが推奨)
不具合管理サーバー 最小2GB (解析対象のコード行数やユーザ数に依存。100万行以
上の場合4GB以上推奨)
ディスク:100GBの空きスペース(対象コード行数に依存)
ソフトウェア要件
オペレーティング・システム:
Windows(サーバー 2008/2012、Vista, 7、8、8.1、10)
Linux(RHEL、Fedora、Debian、SUSE、Ubuntu)
Solaris(10、11)
Aix(IBM AIX 6.1 TL 9, AIX 7.1 TL2 )
MacOS(10.9 - 10.11)
対応コンパイラ
(ビルド環境)
GNU C/C++(gcc、g++、cc、c++ )、Microsoft Visual Studio(2005,2008,2010,2012)、そ
の他組み込みコンパイラ
詳細は https://goo.gl/Dmvkf4
対応統合開発環境
(IDE)
Eclipse/Microsoft Visual Studio/IBM Rational Application Developer/IntelliJ IDEA/QNX
Momentics
最新のシステム要件詳細は https://goo.gl/Rrjg7d を参照下さい
222002-2014 Rogue Wave Software, Inc. All Rights Reserved. 222002-2014 Rogue Wave Software, Inc. All Rights Reserved.
ライセンス体系
および
無料トライアルのご紹介
23© 2017 Rogue Wave Software, Inc. All Rights Reserved. 23
ライセンスの特徴
• 1年更新のサブスクリプション型
• ビルドサーバー数、開発者数に応じた課金 (最小構成:1ビルド+10ユーザ)
• Flexlmを使用したネットワークライセンス
• ライセンスの種類
– ビルドライセンス および 継続的インテグレーションライセンス :
• 統合ビルド解析の実行やシステム管理コマンドの実行に使用される
• ホスト名によりライセンスをロックする
• リンガータイム: 2週間
– ユーザライセンス:
• 解析結果の閲覧やデスクトップ解析に使用される
• ユーザ名によりライセンスをロックする
• リンガータイム:7日間
• 詳細
– https://support.roguewave.com/documentation/klocwork/jp/current/howlicensi
ngworks/#concept674
24© 2017 Rogue Wave Software, Inc. All Rights Reserved. 24
無料トライアルのご紹介
ソースコードのバグ発見にご興味のある方は是非お試しください
対象:導入を検討されているお客様
概要
• 試用ライセンスを提供します。
• 御社の環境にKlocworkを導入にいただき、開発中のコードなどを解析いただき、解析結果
を確認いただけます。
• 導入から解析結果の見方までサポートいたします。
• 解析結果を用いて御社コードの品質状況を解析結果報告会としてご報告いたします。
ステップ
• お申込み https://goo.gl/KZs2Kf
• 環境の確認(言語、使用コンパイラ、OS、マシンスペック、導入規模など)
• 導入および解析の実行
• 解析結果のレビューおよび重要な指摘例のピックアップ
• 解析結果報告会
• 評価および導入に向けたご相談
252002-2014 Rogue Wave Software, Inc. All Rights Reserved. 252002-2014 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave Software
会社概要
26© 2017 Rogue Wave Software, Inc. All Rights Reserved. 26
会社概要
• Rogue Wave Software(ローグウェーブ ソフトウェア)
設立:1989年
本社:米国 コロラド州 ルイビル
日本オフィス:東京都千代田区二番町5-5 番町フィフスビル3F
業務内容:ソフトウェア開発ツールおよび組み込みコンポーネント(ライブラリ)の開発および販売
• Klocworkについて
– ノーテルネットワークスにおけるコード構造解析プロジェクトにより開発された技術をベース
とするKlocwork社の静的解析ツール。2014年1月よりRogue Wave Softwareにより買収される。
– 10年以上の静的解析分野への技術革新への取り組み、 SD Times(米国のソフトウェア業界
紙) Top 100 award を8年連続受賞
– 北米、ヨーロッパ、アジア各国(日本も含む)において、直接販売、および、パートナー様と
連携しビジネス展開
27© 2017 Rogue Wave Software, Inc. All Rights Reserved. 27
Rogue Wave Software
• Klocwork
– C/C++、Java, C#向け静的解
析ツール
• TotalView
– C/C++/Fortran 向け並列対応
GUIデバッガ/動的解析
• Visualization
– Views/JViews/Elixir GUIコン
ポーネント
• SourcePro
– エンタープライズアプリケー
ション向けC++ライブラリ
• OpenLogic
– OSSテクニカルサポート
– OSS監査サービス
• IMSL
– C/C++, Java, C#, Python,
Fortran向け数値計算・統計、
データマイニングライブラリ
• PV-WAVE
– 可視化データ解析用ソフト
ウェア
• Stingray Studio
– Windows向けGUIライブラリ
ソフトウェア開発ツールおよび組み込みコンポーネント(ライ
ブラリ)の開発および販売
28© 2017 Rogue Wave Software, Inc. All Rights Reserved. 28
Financial Services Telecom Gov’t / Defense Technology Other Verticals
お客様
Rogue Wave のソリューションは世界57カ国
3,000社以上のお客様に利用されています
292002-2014 Rogue Wave Software, Inc. All Rights Reserved. 292002-2014 Rogue Wave Software, Inc. All Rights Reserved.
顧客事例
30© 2017 Rogue Wave Software, Inc. All Rights Reserved. 30
ジョンズ・ホプキンス大学
• 革新的な義肢装置のための組込みコンポーネントの開発
– 手足の動き及び感触を伝播するための複雑な組込みシステム
– タイトな開発スケジュール
– 品質向上が求められていた環境
900人時間
の削減
• Klocwork導入5ヶ月後の成果:
• 225件の不具合の発見 (83 件がクリティカルな不具合
)
• 配列オーバーラン、未初期化変数、NULLポインタ
の間接参照
• 誤検知率 < 1%
• 4人の開発者のチームで900人時間の削減
• 潜在的なセキュリティ脆弱性の発見にも寄与
31© 2017 Rogue Wave Software, Inc. All Rights Reserved. 31
Laboratory for Atmospheric
and Space Physics (LASP)
• LASP (at the University of Colorado) :大気科学、宇宙物理学、太陽による
影響および惑星科学に関する研究機関
– 従来の取り組み
• 伝統的な“成功・失敗”型のテストのみに注力
• 動的テストでのみソフトウェア不具合を発見
• Klocworkの導入成果:
– (副次的な成果として)より良いテストケース作成とテストカバレッ
ジが実現されるようになった
– 配列オーバーラン(ABRs)とメモリーリークの発見
– テスト・デバッグ・再テストの繰り返しにかかる時間を削減
– 開発者の生産性の向上
32© 2017 Rogue Wave Software, Inc. All Rights Reserved. 32
ローレンス・リバモア国立研究所
• ミッション:世界最先端の科学技術開発により米国の安全保
障の強化に貢献する
• 適用プロジェクト
• C++による物理シミュレーションソフトウェア開発
• Klocworkの導入成果:
• 82件のバッファオーバーフローを含む約1,000件の不具合の指摘
• 顧客からのクレーム数の減少
• 不具合修正のためのリリースの減少
• 200,000USDのコスト削減
365000行のプロジェク
トに対して
$200,000
ドルのコスト削減:
33© 2017 Rogue Wave Software, Inc. All Rights Reserved. 33
モトローラ社
• Integrated Digital Enhanced Network (iDenTM) プロジェクトにおいて製品
の強化と出荷後不具合数を削減する必要性があった
– プラットフォーム、行数、複雑度の増加
– 様々なプラットフォーム、言語の第3者コードの統合
– タイトな製品開発スケジュールによるプレッシャー
• Klocworkの導入成果:
• アルファ版・ベータ版における不具合数を
50%削減
• 出荷後の顧客からの不具合数を33%削減
• 新規コード不具合を17%削減
システムテストにおけ
る不具合数を50% 削減
34© 2017 Rogue Wave Software, Inc. All Rights Reserved. 34
シラー社
• スイスの医療機器メーカー:心電計、血圧計、患者監視装置、
除細動器
– C言語による組込み機器、およびWindowsでC++, Javaに
よるアプリケーション開発を実施
• Klocworkの導入成果:
– MISRAコンプライアンスの実現
– ソフトウェア品質の向上およびテストフェーズの機関短縮
– メモリーリークその他の不具合の発見
35© 2017 Rogue Wave Software, Inc. All Rights Reserved. 35
Spirent Communications社
• Spirent社のソフトウェアは世界最大のネットワーク・コミュニ
ケーションサービス・プロバイダーや装置メーカでパフォーマ
ンスの評価に使用されています
• 6拠点の開発チームで350万行以上の規模のソースコードを開発
• SDLCの早期段階でテスト前にバグを発見することを課題としていた
• Klocworkの導入成果:
• 市場出荷後に発見される不具合一件あたりの修正コストが最大962
ドルから96ドルに削減
• これまで見逃されていた不具合の発見が開発段階で可能に
の不具合一件あた
りの修正コスト削減
36© 2017 Rogue Wave Software, Inc. All Rights Reserved. 36
OVERTURE社
• キャリア向けイーサネット機器の会社
– ゼロ・トレランスポリシーを実装
– CPP Checkを利用していたが発見されない不具合のパターンがあった
– Klocworkの導入成果:
– POCプロジェクト
• 1000行あたり5件の不具合を指摘
• そのうち半数を数ヶ月以内に修正
– 市場で発生していた重大不具合の発見・修正に寄与
– 別のプロジェクト
• 3名の開発者
• 1000行あたり指摘数の推移 2.3件から0.14件まで削減
37© 2017 Rogue Wave Software, Inc. All Rights Reserved. 37
その他
• Klocwork製品Webサイト/評価版申し込み
– https://roguewave.jp/products-services/klocwork
• サービス
– https://www.roguewave.jp/services/static-code-analysis
• 導入事例
– https://www.roguewave.jp/customers/case-studies
• 製品マニュアル
– https://support.roguewave.com/documentation/klocwork/jp/current/
38© 2017 Rogue Wave Software, Inc. All Rights Reserved. 38

Mais conteúdo relacionado

Mais procurados

SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜Daiki Kawanuma
 
静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応Masaru Horioka
 
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみるいまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる裕士 常田
 
これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回す
これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回すこれ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回す
これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回すStudy Group by SciencePark Corp.
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務Yutaka Kachi
 
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめMitsutoshi Kiuchi
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみたYuusuke Takeuchi
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
remote Docker over SSHが熱い
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱いHiroyuki Ohnaka
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlinRyota Murohoshi
 
Parser combinatorってなんなのさ
Parser combinatorってなんなのさParser combinatorってなんなのさ
Parser combinatorってなんなのさcct-inc
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜Naruhiko Ogasawara
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All ThingsUnityTechnologiesJapan002
 

Mais procurados (20)

Introduction of ISHI-KAI with OpenMPW
Introduction of ISHI-KAI with OpenMPWIntroduction of ISHI-KAI with OpenMPW
Introduction of ISHI-KAI with OpenMPW
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
 
入門!Jenkins
入門!Jenkins入門!Jenkins
入門!Jenkins
 
静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応
 
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみるいまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
 
これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回す
これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回すこれ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回す
これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回す
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務
 
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
remote Docker over SSHが熱い
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱い
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
 
Parser combinatorってなんなのさ
Parser combinatorってなんなのさParser combinatorってなんなのさ
Parser combinatorってなんなのさ
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 

Semelhante a Klocworkのご紹介

静的解析ツールKlocwork によるCERT-C/CWE対応
静的解析ツールKlocwork によるCERT-C/CWE対応静的解析ツールKlocwork によるCERT-C/CWE対応
静的解析ツールKlocwork によるCERT-C/CWE対応Masaru Horioka
 
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)Developers Summit
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
はじめての UWP アプリ開発
はじめての UWP アプリ開発はじめての UWP アプリ開発
はじめての UWP アプリ開発hiyohiyo
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)TIS Inc.
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)Yasuhiko Yamamoto
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてTakashi Yahata
 
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏Developers Summit
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSHiroshi Nakamura
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QYoshihito Kuranuki
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCDaisuke Nishino
 
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介ssuser39314d
 
リスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHP
リスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHPリスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHP
リスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHPRWSJapan
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on AzureDaiyu Hatakeyama
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!智治 長沢
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 

Semelhante a Klocworkのご紹介 (20)

静的解析ツールKlocwork によるCERT-C/CWE対応
静的解析ツールKlocwork によるCERT-C/CWE対応静的解析ツールKlocwork によるCERT-C/CWE対応
静的解析ツールKlocwork によるCERT-C/CWE対応
 
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
はじめての UWP アプリ開発
はじめての UWP アプリ開発はじめての UWP アプリ開発
はじめての UWP アプリ開発
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
 
Ldd13 present
Ldd13 presentLdd13 present
Ldd13 present
 
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSS
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介
 
リスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHP
リスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHPリスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHP
リスクを低減するためのクラウド型OSS管理ツールOpenLogic および Zend PHP
 
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 

Mais de Masaru Horioka

JetBrainsライセンス購入方法
JetBrainsライセンス購入方法JetBrainsライセンス購入方法
JetBrainsライセンス購入方法Masaru Horioka
 
Klocwork 2018.0 アップデート
Klocwork 2018.0 アップデートKlocwork 2018.0 アップデート
Klocwork 2018.0 アップデートMasaru Horioka
 
Klocwork 2017.1アップデート
Klocwork 2017.1アップデートKlocwork 2017.1アップデート
Klocwork 2017.1アップデートMasaru Horioka
 
Klocwork 2017.0アップデート
Klocwork 2017.0アップデートKlocwork 2017.0アップデート
Klocwork 2017.0アップデートMasaru Horioka
 
Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介Masaru Horioka
 
Klocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデートKlocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデートMasaru Horioka
 

Mais de Masaru Horioka (8)

JetBrainsライセンス購入方法
JetBrainsライセンス購入方法JetBrainsライセンス購入方法
JetBrainsライセンス購入方法
 
Klocwork 2018.0 アップデート
Klocwork 2018.0 アップデートKlocwork 2018.0 アップデート
Klocwork 2018.0 アップデート
 
Klocwork 2017.1アップデート
Klocwork 2017.1アップデートKlocwork 2017.1アップデート
Klocwork 2017.1アップデート
 
Klocwork 2017.0アップデート
Klocwork 2017.0アップデートKlocwork 2017.0アップデート
Klocwork 2017.0アップデート
 
Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介
 
Klocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデートKlocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデート
 
Mentoring
MentoringMentoring
Mentoring
 
静的解析のROI
静的解析のROI静的解析のROI
静的解析のROI
 

Klocworkのご紹介

  • 1. 1© 2017 Rogue Wave Software, Inc. All Rights Reserved. 1
  • 2. 22002-2014 Rogue Wave Software, Inc. All Rights Reserved. 22002-2014 Rogue Wave Software, Inc. All Rights Reserved. Klocwork Static Code Analysisによる コーディング品質向上 自動化ソリューションのご紹介
  • 3. 32002-2014 Rogue Wave Software, Inc. All Rights Reserved. 32002-2014 Rogue Wave Software, Inc. All Rights Reserved. 静的コード解析とは
  • 4. 4© 2017 Rogue Wave Software, Inc. All Rights Reserved. 4 2014年2月25日IT Media社のニュースの記事より Twitter上の反応
  • 5. 5© 2017 Rogue Wave Software, Inc. All Rights Reserved. 5 Goto Fail問題の静的解析による指摘例
  • 6. 6© 2017 Rogue Wave Software, Inc. All Rights Reserved. 6 静的解析ツールとは? ソースコードを解析し、ソフトウェアを実行することなく欠陥(主に プログラミングエラー)を自動的に発見する テストツールまるわかり ガイド(入門編)より
  • 7. 7© 2017 Rogue Wave Software, Inc. All Rights Reserved. 7 静的コード解析が注目されている理由1 課題 • 短納期化、アジャイル開発への対応 • 派生開発、大規模化、複雑化(OSS、第三者コードとの統合) 静的解析導入のメリット • 網羅的な自動実行可能、コード変更毎のくり返し実行が容易 – 単体テストと並び継続的インテグレーションでの実行が容易 • 人手によるコードレビューや、既存のテスト手法ではカバーしにくい領域を補完
  • 8. 8© 2017 Rogue Wave Software, Inc. All Rights Reserved. 8 静的コード解析が注目されている理由2 主要な業界標準の順守 • MISRA, CERT, CWE, OWASP • SAMATE DISA STIG • DO-178B, FDA validation • …その他 近年納入条件の一つとして「静的解析ツールの利用とそのエビデンス の提供」が指定されるケースが増えてきている
  • 9. 92002-2014 Rogue Wave Software, Inc. All Rights Reserved. 92002-2014 Rogue Wave Software, Inc. All Rights Reserved. 静的解析ツール Klocworkとその特徴
  • 10. 10© 2017 Rogue Wave Software, Inc. All Rights Reserved. 10 Klocworkの特徴 • C/C++、C# および Java 向けの数百のチェッカー – 充実した組み込みコンパイラサポート対応 • セキュリティ、信頼性の問題、コーディング標準(MISRA, CWE, CERT, OWASP)を1 ツールでカバー • 最先端のデスクトップ解析 • ビルドサーバー、ユーザーベース課金(行数、プロジェクト数無制限) • MISRA, DISA STIG, CWE, CERT • デッドコード • 未到達コード • 使用されない計算済みの変 数 • 使用されていない関数の引 数 • … コーディング標準 & 保守性 • メモリー・リソースリーク • メモリ破壊 • 並行処理の問題 • 無限ループ • NULLポインタの間接参照 • 未初期化の変数… 信頼性 • バッファオーバーフロー • 検査されていない入力値の 使用 • SQLインジェクション • Pathインジェクション • Fileインジェクション • クロスサイトスクリプティ ング • 脆弱性を生むコーディング 作法 セキュリティ
  • 11. 11© 2017 Rogue Wave Software, Inc. All Rights Reserved. 11 Klocwork製品構成 統合ビルド 解析 デスクトップ解析 不具合管理サーバー ライセンスサーバー 管理者、 チーム開発向け(品質 の可視化および管理、 エビデンス) 開発者向け(バグの発見および修正) 継続的インテグ レーション解析
  • 12. 12© 2017 Rogue Wave Software, Inc. All Rights Reserved. 12 様々な環境で利用可能なデスクトップ解析 Visual Studio, Eclipse 向けプラグインに加え、その他の任意のエディタと併 用可能なKlocwork Desktopを提供 Visual Studio、Eclipseでは IDE内から解析の実行が可能
  • 13. 13© 2017 Rogue Wave Software, Inc. All Rights Reserved. 13 Jenkins上の高速差分解析
  • 14. 14© 2017 Rogue Wave Software, Inc. All Rights Reserved. 14 Jenkins上の高速差分解析
  • 15. 15© 2017 Rogue Wave Software, Inc. All Rights Reserved. 15 静的解析ツール利用のアンチパターン 開発サイクル 編集 保存 コンパイ ル テスト チェック イン ビルド 解析 & 修正 ポイント: • 開発フェーズの最後に解析(&修正) • 修正による“手戻り”が発生するため修正されないまま 放置、または、修正コストが高くつく • MISRAやCERT-Cルールは100以上のチェック項目 • ツールの活用が進まない • 開発スピードの低下、改善されない品質、低いROI
  • 16. 16© 2017 Rogue Wave Software, Inc. All Rights Reserved. 16 Klocwork: デスクトップ解析+継続的インテグレーション コード変更 コンパイル 解析& 修正 単体 テスト チェック イン 開発者 1 コード変更 コンパイル 解析& 修正 単体 テスト チェック イン 統合 解析 開発者 2 Time 統合 解析 チェック イン コード変更 コンパイル コード変更 コンパイル 解析 修正 コード変更 コンパイル 解析& 修正 単体 テスト C ック ン  手戻りを最小化し、開発スピードを低下させない  統合レベルではいつもプログラミングエラー・規約違反フリー 継続的インテグレーションサーバー
  • 17. 17© 2017 Rogue Wave Software, Inc. All Rights Reserved. 17 コーディング段階から品質の 見える化 • 指摘の種類の分析 • 指摘数の推移 • 修正、利用状況の管理 • 複雑度等メトリクス取得 品質を見える化するためのレポーティング機能
  • 18. 18© 2017 Rogue Wave Software, Inc. All Rights Reserved. 18 Klocworkを利用した静的解析環境構築例 ソースコード 管理システム チェックアウト チェックイン ビルドサーバー: 統合ビルド解析 開発者:デスク トップ解析 修正& 解析& 確認 Jenkins 等による 自動化 課題管理/プ ロジェクト管 理システム 連携 電子メールによる新 規不具合、担当者割 当通知 品質状況の確認 モジュールにまた がる不具合の発見 チェック イン前の 品質向上
  • 19. 19© 2017 Rogue Wave Software, Inc. All Rights Reserved. 19 Klocwork: バグの発見&修正を”シフトレフト” Klocworkデスクトップ& 継続的インテグレーション解析 欠陥の早期発見、 早期修正が可能 ここで修正している とコスト高 従来の静的解析ツール
  • 20. 202002-2014 Rogue Wave Software, Inc. All Rights Reserved. 202002-2014 Rogue Wave Software, Inc. All Rights Reserved. デモ
  • 21. 21© 2017 Rogue Wave Software, Inc. All Rights Reserved. 21 環境、対応コンパイラ ハードウェア要件 CPU:1 GHz 以上 (Intel Core i5同等かそれ以上を推奨。大規模環境では4コア以上のCPUを推 奨) メモリ:解析環境: 最小 1GB (コア数*1GBが推奨) 不具合管理サーバー 最小2GB (解析対象のコード行数やユーザ数に依存。100万行以 上の場合4GB以上推奨) ディスク:100GBの空きスペース(対象コード行数に依存) ソフトウェア要件 オペレーティング・システム: Windows(サーバー 2008/2012、Vista, 7、8、8.1、10) Linux(RHEL、Fedora、Debian、SUSE、Ubuntu) Solaris(10、11) Aix(IBM AIX 6.1 TL 9, AIX 7.1 TL2 ) MacOS(10.9 - 10.11) 対応コンパイラ (ビルド環境) GNU C/C++(gcc、g++、cc、c++ )、Microsoft Visual Studio(2005,2008,2010,2012)、そ の他組み込みコンパイラ 詳細は https://goo.gl/Dmvkf4 対応統合開発環境 (IDE) Eclipse/Microsoft Visual Studio/IBM Rational Application Developer/IntelliJ IDEA/QNX Momentics 最新のシステム要件詳細は https://goo.gl/Rrjg7d を参照下さい
  • 22. 222002-2014 Rogue Wave Software, Inc. All Rights Reserved. 222002-2014 Rogue Wave Software, Inc. All Rights Reserved. ライセンス体系 および 無料トライアルのご紹介
  • 23. 23© 2017 Rogue Wave Software, Inc. All Rights Reserved. 23 ライセンスの特徴 • 1年更新のサブスクリプション型 • ビルドサーバー数、開発者数に応じた課金 (最小構成:1ビルド+10ユーザ) • Flexlmを使用したネットワークライセンス • ライセンスの種類 – ビルドライセンス および 継続的インテグレーションライセンス : • 統合ビルド解析の実行やシステム管理コマンドの実行に使用される • ホスト名によりライセンスをロックする • リンガータイム: 2週間 – ユーザライセンス: • 解析結果の閲覧やデスクトップ解析に使用される • ユーザ名によりライセンスをロックする • リンガータイム:7日間 • 詳細 – https://support.roguewave.com/documentation/klocwork/jp/current/howlicensi ngworks/#concept674
  • 24. 24© 2017 Rogue Wave Software, Inc. All Rights Reserved. 24 無料トライアルのご紹介 ソースコードのバグ発見にご興味のある方は是非お試しください 対象:導入を検討されているお客様 概要 • 試用ライセンスを提供します。 • 御社の環境にKlocworkを導入にいただき、開発中のコードなどを解析いただき、解析結果 を確認いただけます。 • 導入から解析結果の見方までサポートいたします。 • 解析結果を用いて御社コードの品質状況を解析結果報告会としてご報告いたします。 ステップ • お申込み https://goo.gl/KZs2Kf • 環境の確認(言語、使用コンパイラ、OS、マシンスペック、導入規模など) • 導入および解析の実行 • 解析結果のレビューおよび重要な指摘例のピックアップ • 解析結果報告会 • 評価および導入に向けたご相談
  • 25. 252002-2014 Rogue Wave Software, Inc. All Rights Reserved. 252002-2014 Rogue Wave Software, Inc. All Rights Reserved. Rogue Wave Software 会社概要
  • 26. 26© 2017 Rogue Wave Software, Inc. All Rights Reserved. 26 会社概要 • Rogue Wave Software(ローグウェーブ ソフトウェア) 設立:1989年 本社:米国 コロラド州 ルイビル 日本オフィス:東京都千代田区二番町5-5 番町フィフスビル3F 業務内容:ソフトウェア開発ツールおよび組み込みコンポーネント(ライブラリ)の開発および販売 • Klocworkについて – ノーテルネットワークスにおけるコード構造解析プロジェクトにより開発された技術をベース とするKlocwork社の静的解析ツール。2014年1月よりRogue Wave Softwareにより買収される。 – 10年以上の静的解析分野への技術革新への取り組み、 SD Times(米国のソフトウェア業界 紙) Top 100 award を8年連続受賞 – 北米、ヨーロッパ、アジア各国(日本も含む)において、直接販売、および、パートナー様と 連携しビジネス展開
  • 27. 27© 2017 Rogue Wave Software, Inc. All Rights Reserved. 27 Rogue Wave Software • Klocwork – C/C++、Java, C#向け静的解 析ツール • TotalView – C/C++/Fortran 向け並列対応 GUIデバッガ/動的解析 • Visualization – Views/JViews/Elixir GUIコン ポーネント • SourcePro – エンタープライズアプリケー ション向けC++ライブラリ • OpenLogic – OSSテクニカルサポート – OSS監査サービス • IMSL – C/C++, Java, C#, Python, Fortran向け数値計算・統計、 データマイニングライブラリ • PV-WAVE – 可視化データ解析用ソフト ウェア • Stingray Studio – Windows向けGUIライブラリ ソフトウェア開発ツールおよび組み込みコンポーネント(ライ ブラリ)の開発および販売
  • 28. 28© 2017 Rogue Wave Software, Inc. All Rights Reserved. 28 Financial Services Telecom Gov’t / Defense Technology Other Verticals お客様 Rogue Wave のソリューションは世界57カ国 3,000社以上のお客様に利用されています
  • 29. 292002-2014 Rogue Wave Software, Inc. All Rights Reserved. 292002-2014 Rogue Wave Software, Inc. All Rights Reserved. 顧客事例
  • 30. 30© 2017 Rogue Wave Software, Inc. All Rights Reserved. 30 ジョンズ・ホプキンス大学 • 革新的な義肢装置のための組込みコンポーネントの開発 – 手足の動き及び感触を伝播するための複雑な組込みシステム – タイトな開発スケジュール – 品質向上が求められていた環境 900人時間 の削減 • Klocwork導入5ヶ月後の成果: • 225件の不具合の発見 (83 件がクリティカルな不具合 ) • 配列オーバーラン、未初期化変数、NULLポインタ の間接参照 • 誤検知率 < 1% • 4人の開発者のチームで900人時間の削減 • 潜在的なセキュリティ脆弱性の発見にも寄与
  • 31. 31© 2017 Rogue Wave Software, Inc. All Rights Reserved. 31 Laboratory for Atmospheric and Space Physics (LASP) • LASP (at the University of Colorado) :大気科学、宇宙物理学、太陽による 影響および惑星科学に関する研究機関 – 従来の取り組み • 伝統的な“成功・失敗”型のテストのみに注力 • 動的テストでのみソフトウェア不具合を発見 • Klocworkの導入成果: – (副次的な成果として)より良いテストケース作成とテストカバレッ ジが実現されるようになった – 配列オーバーラン(ABRs)とメモリーリークの発見 – テスト・デバッグ・再テストの繰り返しにかかる時間を削減 – 開発者の生産性の向上
  • 32. 32© 2017 Rogue Wave Software, Inc. All Rights Reserved. 32 ローレンス・リバモア国立研究所 • ミッション:世界最先端の科学技術開発により米国の安全保 障の強化に貢献する • 適用プロジェクト • C++による物理シミュレーションソフトウェア開発 • Klocworkの導入成果: • 82件のバッファオーバーフローを含む約1,000件の不具合の指摘 • 顧客からのクレーム数の減少 • 不具合修正のためのリリースの減少 • 200,000USDのコスト削減 365000行のプロジェク トに対して $200,000 ドルのコスト削減:
  • 33. 33© 2017 Rogue Wave Software, Inc. All Rights Reserved. 33 モトローラ社 • Integrated Digital Enhanced Network (iDenTM) プロジェクトにおいて製品 の強化と出荷後不具合数を削減する必要性があった – プラットフォーム、行数、複雑度の増加 – 様々なプラットフォーム、言語の第3者コードの統合 – タイトな製品開発スケジュールによるプレッシャー • Klocworkの導入成果: • アルファ版・ベータ版における不具合数を 50%削減 • 出荷後の顧客からの不具合数を33%削減 • 新規コード不具合を17%削減 システムテストにおけ る不具合数を50% 削減
  • 34. 34© 2017 Rogue Wave Software, Inc. All Rights Reserved. 34 シラー社 • スイスの医療機器メーカー:心電計、血圧計、患者監視装置、 除細動器 – C言語による組込み機器、およびWindowsでC++, Javaに よるアプリケーション開発を実施 • Klocworkの導入成果: – MISRAコンプライアンスの実現 – ソフトウェア品質の向上およびテストフェーズの機関短縮 – メモリーリークその他の不具合の発見
  • 35. 35© 2017 Rogue Wave Software, Inc. All Rights Reserved. 35 Spirent Communications社 • Spirent社のソフトウェアは世界最大のネットワーク・コミュニ ケーションサービス・プロバイダーや装置メーカでパフォーマ ンスの評価に使用されています • 6拠点の開発チームで350万行以上の規模のソースコードを開発 • SDLCの早期段階でテスト前にバグを発見することを課題としていた • Klocworkの導入成果: • 市場出荷後に発見される不具合一件あたりの修正コストが最大962 ドルから96ドルに削減 • これまで見逃されていた不具合の発見が開発段階で可能に の不具合一件あた りの修正コスト削減
  • 36. 36© 2017 Rogue Wave Software, Inc. All Rights Reserved. 36 OVERTURE社 • キャリア向けイーサネット機器の会社 – ゼロ・トレランスポリシーを実装 – CPP Checkを利用していたが発見されない不具合のパターンがあった – Klocworkの導入成果: – POCプロジェクト • 1000行あたり5件の不具合を指摘 • そのうち半数を数ヶ月以内に修正 – 市場で発生していた重大不具合の発見・修正に寄与 – 別のプロジェクト • 3名の開発者 • 1000行あたり指摘数の推移 2.3件から0.14件まで削減
  • 37. 37© 2017 Rogue Wave Software, Inc. All Rights Reserved. 37 その他 • Klocwork製品Webサイト/評価版申し込み – https://roguewave.jp/products-services/klocwork • サービス – https://www.roguewave.jp/services/static-code-analysis • 導入事例 – https://www.roguewave.jp/customers/case-studies • 製品マニュアル – https://support.roguewave.com/documentation/klocwork/jp/current/
  • 38. 38© 2017 Rogue Wave Software, Inc. All Rights Reserved. 38

Notas do Editor

  1. Source code analysis reduces costs, saves time, improves quality and helps detect security flaws. Klocwork has enabled numerous customers in this regard.
  2. Source code analysis reduces costs, saves time, improves quality and helps detect security flaws. Klocwork has enabled numerous customers in this regard.
  3. We support hundreds of checkers which can be selected on an individual basis to fit the customer’s needs. We support numerous coding standards.
  4. Traditional source code analysis tools wait until after the code has been submitted and built to analyze. This is helpful, but it is still not soon enough.
  5. Klocwork pushes the analysis point even earlier than unit test. This is done with a fast incremental analysis that takes a matter of <1 minute, even on a large code base. This saves time in unit test by giving the developer the benefit of fixing things as he/she types them. Klocwork is the only static code analysis tool capable of doing this.
  6. Used by 3,000 customers in over 57 countries across diverse industries to develop mission-critical applications and software At Rogue Wave, code matters.