A use case of source code cloning detection between two software projects with FLOSS tools

Luis Cañas-Díaz (Libresoft)

Playlists: 'linuxtag12' videos starting here / audio / related events

Source code cloning is being more and more common since the number of FLOSS applications is growing up in the last decades. That cloned source code is legal when the owner of the source code copyright allows it, and when the conditions imposed by such license are not incompatible with the license of the destination project. In this context, there are unidirectional situations where copying source code is allowed in one direction, but not in the other. The main target of the study was to detect the amount of cloned source code between the projects gisEIEL and gvSIG-EIEL (both offer similar features). Beyond the source code cloned, it aimed to identify possible legal issues with the licenses and evaluate the different features of each project to allow our client to decide whether a merge of the two projects would be feasible. Thus, the source of both applications was analised and several modules of each application were compared with the other application using FLOSS tools. This allowed us to identify the programming languages, to know the number of tokens repeated in each module and the licenses declared in the header of the files. For the purpose of this study some FLOSS tools were used. CCFinder, which is a command-line code clone detection tool; Cloc, a source lines of code analyser; and Ninka, a lightweight license identification tool for source code.

Über den Autor Luis Cañas-Díaz: Luis Cañas-Díaz holds a Master's degree in Computer Science from University Rey Juan Carlos of Spain (Madrid). Currently he works researching about software quality and evolution in LibreSoft. During the last two years he worked in the deployment of collaborative environments ( such us OSOR and Morfeo ) and regular maintenance tasks over several platforms which are based in Libre (FLOSS) Software. Luis landed on Libresoft on October the 15th 2003, he joined the LibreSoft group after ending his first 3 years degree. During these first years in LibreSoft he worked as a developer on LAMP environments, system administrator and currently as researcher. Four years after joining LibreSoft, Luis finished the degree in Computer Science working in a Master Thesis called mucode which aim was to identify the most popular/critical parts of GNOME applications with feedback obtained from real users, the documentation is available here (in Spanish)