Comments
Description
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