ライセンス文集合 - Software Engineering Laboratory

Download Report

Transcript ライセンス文集合 - Software Engineering Laboratory

ライセンス知識に基づく
ライセンス特定ツールの設計
真鍋雄貴†
Daniel M. German‡
井上克郎†
†大阪大学情報科学研究科
‡ビクトリア大学
2010/1/21
1
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
背景
• オープンソースソフトウェア(OSS)に含まれる
ソフトウェア部品(部品)の新規開発への利用
が多い
• 部品のソフトウェアライセンス(ライセンス)
を理解する必要がある
2010/1/21
ウィンターワークショップ2010
2
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
ライセンス
• ソフトウェアの利用
条件
ライセンス文
•
開発者が正確に読解
ライセンス
することは難しい
の記述
– 自然言語の長文
コメント
– 前提知識が必要
文
– 他のファイルへの
参照
ソースファイル
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
ライセンスの特定
OSS部品のライセンスは定型の文で構成
された既知のライセンスが用いられてい
る場合が多い
ライセンス知識
ライセンスの記述
照合
既知のライセンスの記述
対応関係
ライセンスの特定により,既知のどのライセンスか
分かれば比較的容易に利用条件を認識できる
ソースファイル
既知のライセンス
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
ライセンスの特定における問題
•綴り間違いや単語の同義語への変更な
どの表記揺れ
•著者名や組織名が含まれる
ライセンス知識
ライセンスの記述
照合
既知のライセンスの記述
対応関係
ソースファイル
既知のライセンス
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
ライセンス特定ツールに
求められる要件
要件3:高速に処理できる
要件2:新しいライセンスの記述へ
要件1:現状の調査に基づいてい
て,多くのライセンスを特定できる
の適合が容易
ライセンス知識
ライセンスの記述
照合
既知のライセンスの記述
対応関係
既存のライセンス特定ツールには,
すべての要件を満たすツールはない
ソースファイル
既知のライセンス
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
ツールの設計
ソースファイル
1. コメントの抽出
凡例
コメント
ライセンス知識
2. テキストの分割
キーワード集合:
ライセンス文に良く
含まれる語句
文
3. 文のフィルタリング
ライセンスに関連する文
4. ライセンス文マッチング
ライセンス文名
5. ライセンスルールマッチング
特定したライセンス名
ライセンス文集合:
文とライセンス文の
対応ルール
(正規表現)
ライセンス集合:
ライセンスとライセン
ス文の対応ルール
(リスト)
処理
データ
大規模OSS
FreeBSD
OpenBSD
Linux
Eclipse JDT
Mozilla
…
ウィンターワークショップ2010
7
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2010/1/21
ウィンターワークショップ2010
8
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
評価
• 目的:他のライセンス特定ツールより優れているか
を検証
• 対象ツール: 提案手法(Ninka), Fossology, oslc,
ohcount
– Ninka, oslc, ohcount:正規表現
– FOSSology: diffに近いアルゴリズム
– NinkaとFossologyは"UNKNOWN"という回答も
行う
• 対象ファイル: Debian Linux 5.0.2に含まれる250
ファイル
• 250パッケージをランダムに選択し,各パッ
ケージからランダムに1ファイル選択
9
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
比較実験
1. 手作業で対象ソースファイルのライセンスを特
定し,正解集合とする
2. 各ツールを対象ソースファイルに適用する
3. 適用結果を正解集合と比較し,各ファイルの結
果を正解,不正解,不明に分類する
4. 再現率,適合率を算出
Precision=|C|/(250-|U|)
Recall=|C|/250
N: 対象ソースファイルのファイル数(250)
C: 正解ファイル数
U: 不明と回答したファイル数
10
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
結果
Ninka
FOSSology
ohcount
OSLC
再現率(%)
80.0
54.8
33.2
22.8
適合率(%)
96.6
55.0
33.2
22.8
実行時間(s)
22
923
27
372
• 提案手法は他の手法より適合率,再現率が高い
• 実行時間も最も短かった
11
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2010/1/21
ウィンターワークショップ2010
12
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University