DebCheck: Efficient Checking for Open Source Code Clones in Software Systems

  • Authors:
  • James R. Cordy;Chanchal K. Roy

  • Affiliations:
  • -;-

  • Venue:
  • ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The problem of finding code cloned from open source code in software systems is of interest both to the open source community (e.g., for GPL and other open source license enforcement) and the industrial community (e.g., to prevent GPL "contamination" of proprietary commercial software systems). The largest collection of open source software in general distribution is the collection of eight DVDs in the Debian source distribution, and checking for cross-cloning with the Debian source distribution goes a long way towards finding any possible copying from the set of all open source code in the world. The NiCad clone detector is an open source language- sensitive robust clone detector that has been shown to yield both high precision and high recall in detecting syntactically meaningful near-miss clones such as functions and blocks. Given a directory of new source code to check, DebCheck uses NiCad in its incremental mode to efficiently check the system for near-miss clones of C functions in the entire Debian source base in a few minutes on a 2 Gb home computer. The same technique can be used to check systems for cross-clones with any large source collection.