TY - JOUR
T1 - Hierarchical clustering of OSS license statements toward automatic generation of license rules
AU - Higashi, Yunosuke
AU - Ohira, Masao
AU - Kashiwa, Yutaro
AU - Manabe, Yuki
N1 - Funding Information:
Acknowledgments This work is conducted as part of Grant-in-Aid for Scientific Research: (A) 17H00731, (A) 18H04094 and (C) 18K11243 by Japan Society for the Promotion of Science.
Publisher Copyright:
© 2019 Information Processing Society of Japan.
PY - 2019
Y1 - 2019
N2 - Reusing open source software (OSS) components for one’s own software products has become common in the modern software development. Automated license identification tools have been proposed to help developers identify OSS licenses, since a large number of licenses sometimes must be checked before attempting to reuse. Of the existing tools, Ninka [1] can most correctly identify licenses of each source file by using regular expressions. In case Ninka does not have license identification rules for unknown licenses, Ninka reports these as “unknown licenses” which must be checked by developers manually. Since completely-new or derived OSS licenses appear nearly every year, a license identification tool should be appropriately maintained by adding regular expressions corresponding to the new licenses. The final goal of our study is to construct a method to automatically create candidate license rules to be added to a license identification tool such as Ninka. Toward achieving the goal, files identified as unknown licenses must be classified by license firstly. In this paper, we propose a hierarchical clustering which divides unknown licenses into clusters of files with a single license. We conduct a case study to confirm the usefulness of our clustering method when it is applied for classifying 2,801, 1,230 and 2,446 unknown license statement files for Linux Kernel v4.4.6, FreeBSD v10.3.0 and Debian v7.8.0 respectively. As a result, it is confirmed that our method can create clusters which are suitable as candidates for generating license rules automatically.
AB - Reusing open source software (OSS) components for one’s own software products has become common in the modern software development. Automated license identification tools have been proposed to help developers identify OSS licenses, since a large number of licenses sometimes must be checked before attempting to reuse. Of the existing tools, Ninka [1] can most correctly identify licenses of each source file by using regular expressions. In case Ninka does not have license identification rules for unknown licenses, Ninka reports these as “unknown licenses” which must be checked by developers manually. Since completely-new or derived OSS licenses appear nearly every year, a license identification tool should be appropriately maintained by adding regular expressions corresponding to the new licenses. The final goal of our study is to construct a method to automatically create candidate license rules to be added to a license identification tool such as Ninka. Toward achieving the goal, files identified as unknown licenses must be classified by license firstly. In this paper, we propose a hierarchical clustering which divides unknown licenses into clusters of files with a single license. We conduct a case study to confirm the usefulness of our clustering method when it is applied for classifying 2,801, 1,230 and 2,446 unknown license statement files for Linux Kernel v4.4.6, FreeBSD v10.3.0 and Debian v7.8.0 respectively. As a result, it is confirmed that our method can create clusters which are suitable as candidates for generating license rules automatically.
UR - http://www.scopus.com/inward/record.url?scp=85062322792&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85062322792&partnerID=8YFLogxK
U2 - 10.2197/ipsjjip.27.42
DO - 10.2197/ipsjjip.27.42
M3 - Article
AN - SCOPUS:85062322792
SN - 0387-6101
VL - 27
SP - 42
EP - 50
JO - Journal of Information Processing
JF - Journal of Information Processing
ER -