) identifies duplicated lines in Java and C# source code. Ie. lines of code that occur more than once across an entire source tree.
Simian is extremely fast. Modestly sized projects (20,000 to 50,000 lines of code) can take a few seconds. Running against the entire JDK 1.4.1_02 source base (488,169 lines of code in 2794 files) in under 50 seconds (on a P4 1.8GHz machine) identified 50,354 duplicate lines in 826 files!
Simian is available with licensing specific for either free or commercial use depending on your project. Visit (http://www.redhillconsulting.com.au/products/simian/purchase.html
) for a free evaluation version.
It is generally accepted that duplication of source code is a bad thing and leads to code that can be error prone and difficult to maintain.
On large projects it is often difficult for any one developer to keep track of all the features (classes, methods, etc.) of the system. So, duplicate code can also creep into through developers independently implementing similar features.
Simian can be used as part of the build process during development or as guide when re-factoring code after the fact. Think of it as a second pair of eyes that will assist in raising the quality of your software. Simian can save you literally thousands of dollars within minutes.
The dictionary defines the word Simian to mean "Relating to, characteristic of, or resembling an ape or a monkey."
What does this have to do with code duplication? Well we thought that when people duplicated source code, they were really acting like monkeys. In fact the Checkstyle plugin is called SimianCheck .
It only occured to us later that we could turn it into SIMIlarity ANalyser.