Solid Software Duplication Detector (SolidSDD)

SolidSDD (Software Duplication Detector) is a standalone application for detecting and managing source code cloning (i.e., code duplication) that often occurs in software projects when developers are in a hurry to add new functionality. It can be used to analyze large projects and detect code that has been cloned (e.g., through copy-and-paste operations) during development.

In addition to identifying duplicated code fragments, SolidSDD offers an intuitive graphical interface for assessing the code cloning characteristics and the location of the duplicated fragments in the code base. This interface enables developers, architects, and software managers to better manage the process of refactoring by assessing the required effort and establishing refactoring priorities.

SolidSDD is able to intelligently cope with variations in the duplicated code. Not only are exact matches identified, but also cloned fragments that have been modified by renaming variables or by inserting or removing code.

See what's new in Version 1.5
Download the fact sheet
Read about the new Small Business License
Download a 30-day free trial
Get information about SolidSDD licensing options

More than a differencing tool

SolidSDD is not another "diff" tool. To do what SolidSDD does with a standard differencing tool would take far more time and manual effort, yet still fail to yield the same results with the same level of sophistication and thoroughness.


SolidSDD is:
  • Fast and scalable: SolidSDD can analyze thousands of files in a matter of minutes. It uses caches for preprocessed information, so the second time it runs even faster. In many scenarios, it can be executed on the fly, enabling quick and timely assessment of code duplication (e.g., before committing code to a versioning repository).
  • Tolerant to variations: SolidSDD does not look only for exactly duplicated code fragments. Most of the times, when code is duplicated, developers have performed modifications such as renaming variables, or inserting or deleting some code. SolidSDD is able to deal with such modifications, while still recognizing the modified piece of code as a duplicate. Additionally, SolidSDD pinpoints the actual differences in the code, so developers can easily assess the required modification effort.
  • Informative: SolidSDD can be used by developers, architects, and project managers. The detailed code views enable developers to precisely locate duplicated code fragments; the visual overview enable architects to assess the architectural implications of duplications in order to initiate and prioritize refactoring; and the aggregated duplication metrics enable managers to make informed decisions regarding maintenance and initiate the appropriate activities.
  • Configurable: The clone detection engine of SolidSDD can be configured for various detection strategies and accuracy levels, in order to suit specific analysis contexts and needs.
  • Easy to integrate: SolidSDD can be integrated within the build environment via a command line interface. In this way, the clone detection operation can be executed in batch mode; for example, as part of nightly system builds.

See for yourself what SolidSDD can do to enhance and polish your development efforts by downloading the free trial.



"Number one in the stink parade is duplicated code. If you see the same code structure in more than one place, you can be sure that your program will be better if you find a way to unify them." - Martin Fowler, Refactoring, 1999, p. 76.



"Where there is duplicated code, there is always an opportunity for one of the duplicates to get fixed and the other one to be forgotten. Remove this opportunity." - Ron Jeffries, Ann Anderson, Chet Hendrickson, Extreme Programming Installed, 2001, p. 84.

SolidCD screenshot

SolidSDD (click on image to enlarge) actually provides the capabilities to do what people only dream about doing with simple differencing tools. Try it, and what was used in the past will become a distant memory.