...

コード検査ツール「Black Duck Protex」のご紹介

by user

on
Category: Documents
11

views

Report

Comments

Transcript

コード検査ツール「Black Duck Protex」のご紹介
配布資料
コード検査ツール「Black Duck Protex」のご紹介
2010年3月15日
NEC OSSプラットフォーム開発本部
山本
1.背景
Page 2
© NEC Corporation 2010
ライセンス違反を起こさないために①
 ライセンスを意識した開発管理・構成管理
 それぞれのライセンス要件を遵守
 リリース媒体を分けるなど分かりやすい出荷形態
商用ライセンス
企画・設計段階での
OSSポリシー策定
複数ライセンス
単一OSSライセンス
商用
再頒布不可
Page 3
© NEC Corporation 2010
再頒布可
再頒布不可
MPL
GPL
再頒布可
ライセンス違反を起こさないために②
 各開発物件に他のライセンスのプログラムが
混入していないことを確認
策定したOSSポリシーと
実装が一致していることを確認
 安易な流用、意図しない混入を検出
 外注先やオフショアからの納品物件を受け入れ検査
商用ライセンス
OSS
本当に
商用ライセンス?
そのためには・・・
Page 4
© NEC Corporation 2010
MPLライセンス
GPLライセンス
GPL
商用
本当に
MPLライセンス?
本当に
GPLライセンス?
全ソースコードの機械的・網羅的な検査が必須
課題は何でしょうか?
▐ 検査のために必要な各ステップから考えてみましょう。
OSS
OSS
OSS
名称
Version
ライセンス
OSS
OSS
OSS
OSS
OSS
ステップ①
ソースコード
OSS1
OSS2
ステップ②
OSS3
OSS4
・・・
ステップ③
OSS
OSS
OSS
OSS
公開されている
膨大な数のOSS
ライセンス情報とともに
整理されたOSSの情報
課題1
課題2
膨大な上に、日々増加
するOSS情報をとても
調べきれない…
Page 5
自社製品に含まれている
OSSを特定
© NEC Corporation 2010
守るべき
ライセンス条件を
遵守
課題3
製品のソースも巨大だし、
とても人手ではチェック
できない…
ライセンスがわかって
も、具体的にどうす
れば問題無いのか…
私達がお手伝いします!
▐ 「Protex」が機械的・網羅的な処理を実行。
▐ さらにNECの技術者による支援サービスで、課題解決をご支援。
OSS
OSS
OSS
OSS
OSS1
OSS
OSS
OSS
名称
Version
ライセンス
OSS
ステップ①
ソースコード
ステップ②
OSS2
OSS3
OSS4
・・・
ステップ③
OSS
OSS
OSS
OSS
公開されている
膨大な数のOSS
ライセンス情報とともに
整理されたOSSの情報
① Black Duck社が世界
最大規模のOSS情報DB
を管理、Protexの検査用
DBに随時反映。
自社製品に含まれている
OSSを特定
② Protex独自のマッチン
グ技術により自社製品内
のOSSを検出。
+NECが結果解析をご支援。
Page 6
© NEC Corporation 2010
守るべき
ライセンス条件を
遵守
③ Protexの機能で関係
するライセンス情報を確認。
+NECがご相談をお受けす
るコンサルサービスを提供。
2.機能・作業フロー
Page 7
© NEC Corporation 2010
機能概要
①
① OSS情報ナレッジベース
OSS情報ナレッジベース
著名なOSSリポジトリサイトをミラー、その他ネット上のOSS情報を日々チェックし反映。
著名なOSSリポジトリサイトをミラー、その他ネット上のOSS情報を日々チェックし反映。
②
② コードマッチング
コードマッチング
自社製品のコードとOSSコードを比較し、一致または類似箇所を検出。
自社製品のコードとOSSコードを比較し、一致または類似箇所を検出。
バイナリファイル(ライブラリ、アイコン等)の一致も検出。
バイナリファイル(ライブラリ、アイコン等)の一致も検出。
③
③ ライセンス確認
ライセンス確認
検出されたOSSのライセンスを確認。自社製品のライセンスと互換性の無い
検出されたOSSのライセンスを確認。自社製品のライセンスと互換性の無い
ライセンスは警告表示。
ライセンスは警告表示。
②
② コードマッチング
コードマッチング
Protexインストールサーバ
BlackDuck社サーバ
①
① OSS情報
OSS情報
ナレッジベース
ナレッジベース
自社製品のコード
aaa
・・・
F/W
aaa
・・・
③
③ ライセンス確認
ライセンス確認
Page 8
ナレッジベース
ナレッジベース
インターネット接続
ナレッジベース
ナレッジベース
ミラー
GPL
BlackDuck社サーバより、ナレッジベースの
BlackDuck社サーバより、ナレッジベースの
アップデートを行い、最新のOSS情報に追従
アップデートを行い、最新のOSS情報に追従
© NEC Corporation 2010
・・・
反映
23万種以上のOSS情報、1,800以上の
23万種以上のOSS情報、1,800以上の
ライセンス情報を格納。(2009/12現在)
ライセンス情報を格納。(2009/12現在)
作業フロー(1/3)
① 検査物件(自社製品)登録・想定ライセンス指定
検査物件の格納
パスを指定
想定ライセンスを指定
(一般的なプロプラもしく
はナレッジに存在する
OSSライセンスから選択)
② コードマッチング (Analysis)
各ファイル毎に一致/類似したOSSのリスト
= 流用OSSの候補 が得られる。
Page 9
© NEC Corporation 2010
作業フロー(2/3)
③ 流用OSS(または流用していないこと)の確定
NECでは本作業を支援する
「解析支援サービス」をご提供。
各検出箇所の流用候補から、
流用元OSSを確定していく。
① IDENTIFY : そのOSSからの流用であると確定。
② EXCLUDE : そのOSSからの流用では無い。
(複数の候補がある場合、他の候補は残る)
③ ORIGINAL TO : 独自実装・一般的実装であり流用では無いと確定。
判断基準は?
自コード
OSSコード
一致/類似箇所
が反転表示
(1) 実装者への確認
Page 10
© NEC Corporation 2010
(2) 実コードを比較
・・・
・・・
Readme、
license.txtなど
コード中のcopyright、
ライセンス文など
(3) その他の情報
作業フロー(3/3)
④ 確定したOSSリストに基づきライセンス遵守を確認
確定したOSSリスト
各OSSのライセンス
ライセンス間の互換性が無い(どちらかに違反するため共存できない、
一般的なプロプライエタリライセンスとGPLなど)場合は警告表示。
ただし実際の確認においては、Protexによる検査結果に加え
・製品全体のプログラム構造
・モジュール間の関係/結合度とライセンス伝播範囲
・個々のOSS固有の要件
などの要素を考慮した判断が必要になります。
NECでは「OSSライセンス・コンサルティング」にて、
ライセンス遵守確認のご相談に対応。
Page 11
© NEC Corporation 2010
3.製品・サービス体系
Page 12
© NEC Corporation 2010
製品・サービス体系
 製品ライセンス、サポートサービス、付加サービスで構成
③ NEC付加サービス
・導入支援サービス
個別
見積
コンサルティングサービス
もご用意。
インストール、構築作業、基本トレーニング
・解析支援サービス
コード検査結果の確認作業をご支援
② NECサポートサービス
・TEL、E-Mail、FAXによる製品使用方法のQ&A、障害調査
・Web、mailによる情報提供
価格は
ご相談
ください
バ
ン
ド
ル
① 製品ライセンス
(年間Subscription)
スポットサービスも
ご用意。
・ 製品使用(サーバ1台あたり1ライセンスが必要)
・ Rev.up権、ナレッジベース更新権
・ユーザ数、検査コードサイズ(年間)別の価格設定
Page 13
© NEC Corporation 2010
無料体験のご案内
① お試し版レポート、② 評価ライセンスの2種類をご用意。
①お試し版レポート
①お試し版レポート
お客様のソースコード(最大25MB)
をお預かりし、スキャン結果をお返しします。
正規製品の出力との差分はありません。
機材のご準備は不要です。
②評価ライセンス
②評価ライセンス
最長30日間、25MBまで、製品をご試用
いただけます。
正規製品との機能差分はありません。
別途評価用サーバ、OSが必要です。
どのような結果が得ら
れるかをお手軽に確認
したい方はこちら
ご希望の方は担当者まで!
Page 14
© NEC Corporation 2010
詳細な機能をじっくりと
お試しになりたい方は
こちら
ご参考




∼組込みシステムソリューション∼
ソースコード第三者検証サービス
ソースコードに潜む問題(バグ)をご報告します。
複数静的検証ツールによるチェック結果を専任解析者が解説したレポートをご提供します。
お客様システムの品質向上と開発効率化に貢献します。
対象言語:C言語/C++/JAVA
サービスの流れ
有効性
■短期開発/技術者不足の時に
高品質なソフトウェアを提供したい
ソースコードレビューそのものをアウトソーシングしたい
■構外請負の品質管理を向上したい時に
ソフト品質を同一基準で数値的に把握したい
受入試験中に重大問題に遭遇したくない
■開発者に負荷をかけたくない時に
開発ソースコード
複数の静的検証ツール群
ツール出力結果
(大量なメッセージ)
開発者のスクリーニング
は大変な負荷
検出問題を統合
ツール導入時のリソースが一切不要
開発者へのツール使用方法の教育不要
専任者の精査により重要
問題の見落とし極小
実績
■延べ800件以上のプロジェクトに適用
■検証サービス実施の総規模は800,000KLine
以上(過去3年間の実績値)
© NEC Corporation 2010
検証レポート
報告会
製品情報・お問い合わせ
 製品情報
http://www.nec.co.jp/oss/protexip/
 お問い合わせ
E-Mail:[email protected]
(NEC OSSプラットフォーム開発本部 Protex担当)
Page 16
© NEC Corporation 2010
Fly UP