학술논문

Clone Swarm: A Cloud Based Code-Clone Analysis Tool
Document Type
Conference
Source
2020 IEEE 14th International Workshop on Software Clones (IWSC) Software Clones (IWSC), 2020 IEEE 14th International Workshop on. :52-56 Feb, 2020
Subject
Computing and Processing
Cloning
Tools
Software systems
Visualization
Computer bugs
Maintenance engineering
Software Maintenance
Clone Detection
Code Clone Visualization
Language
ISSN
2572-6587
Abstract
A code clone is defined as a pair of similar code fragments within a software system. While code clones are not always harmful, they can have a detrimental effect on the overall quality of a software system due to the propagation of bugs and other maintenance implications. Because of this, software developers need to analyse the code clones that exist in a software system. However, despite the availability of several clone detection systems, the adoption of such tools outside of the clone community remains low. A possible reason for this is the difficulty and complexity involved in setting up and using these tools. In this paper, we present Clone Swarm, a code clone analytics tool that identifies clones in a project and presents the information in an easily accessible manner. Clone Swarm is publicly available and can mine any open-sourced GIT repository. Clone Swarm internally uses NiCad, a popular clone detection tool in the cloud and lets users interactively explore code clones using a web-based interface at multiple granularity levels (Function and Block level). Clone results are visualized in multiple overviews, all the way from a high-level plot down to an individual line by line comparison view of cloned fragments. Also, to facilitate future research in the area of clone detection and analysis, users can directly download the clone detection results for their projects. Clone Swarm is available online at clone-swarm.usask.ca. The source code for Clone Swarm is freely available under the MIT license on GitHub.