CP Miner

Inconsistencies Demo
Code Patterns Demo
What is CP Miner?

CP Miner (previously known as Pattern Miner) is part of the Code Insight suite and is an advanced analysis engine that quickly detects duplicate patterns within data allowing you to find difficult-to-detect copy-paste bugs and help your architects when they try to refactor your code base.

Code reuse is common in any development shop. The problem with copy-paste programming is that it often leads to bugs when the developer modifies the original segment to fit the new context, but doesn't update the code consistently. If you've ever had to deal with one of these difficult-to-detect bugs then CP Miner is for you.

Copy-paste Bugs

When your developer copies a piece of code, modifies it, and then pastes it, at best you save time since he is not reinventing the wheel. In reality, what often happens is that inconsistencies are introduced because he updates 9 out of 10 instances of a variable name and forgets the 10th. The problem with these types of bugs is that they are difficult to detect. CP Miner quickly and easily detects these inconsistencies.

Quickly and Easily Identify duplicate code

One of the most difficult parts of a refactoring project is identifying the candidate code segments. The beauty of CP Miner is that you only need to point it at the code base and it quickly does the rest. CP Miner speeds up the process by quickly identifying all of the duplicate code, even if the code has been modified due to variable name changes and line insertions and deletions.

Compare Branches

Detecting duplicate code is not just limited to a single code base. Often you need to make sure that some specific code, whether internal or third party, does not end up in your code base. You can do this by simply taking the code that you need to ensure doesn't enter your code base and putting it in a directory then simply pointing CP Miner at your directory and your code base. Next, just view the results.

CP Miner Code Patterns Listing
CP Miner Code Patterns Listing
CP Miner Inconsistencies Listing
CP Miner Inconsistencies Listing
CP Miner Inconsistencies Split View
CP Miner Inconsistencies Split View
CP Miner Cross Branch Selection
CP Miner Cross Branch Selection