Our Solutions ...
Pattern Insight Solutions The Power of Patterns

Are you fixing the same bug over and over again?

Any large code base typically has significant amounts of replicated code. The Linux Kernel, for example, is 26% replicated code. Replication can happen because of versioning, persistent branches, copy-paste or the use of similar code in multiple products.

This replicated code is a nightmare for development teams since nobody knows for certain where duplications exist. A critical bug is fixed once only to pop up again in another place – often in a serious customer situation. Merging enhancements and fixes across all branches and versions becomes impossible, especially when dealing with open source updates. And to make this problem even harder, most code replications include insertions, deletions, different variable names and other changes. When you’re looking for replicated code, it can be impossible to find using traditional keyword-based search methods.

Find once, fix everywhere

Pattern Insight delivers the industry’s first solution that uses pattern identification in source code to increase software quality and boost developer productivity. Our solution locates not just exact matches but code that is syntactically or semantically similar, allowing the user to quickly and easily navigate through complex code. Using patented data mining techniques, Pattern Insight is able to identify and analyze patterns in source code so you can:

  • Quickly find all instances of a known defect - even if it has been modified - across an entire codebase including all branches
  • Identify similarities and differences in source code to enable refactoring and code merge operations
  • Simplify ongoing maintenance by identifying duplicate and similar code sequences that can be extracted into libraries
  • Ensure open source applications are completely synched with public releases

Pattern Insight fits into your existing development environments

Pattern Insight does not require a completely new set of tools or a new development methodology. Your IDE, debuggers, bug tracking systems and processes stay the same. Pattern Insight is non-intrusive and does not require any changes to existing code.

Pattern Insight is different because we finds patterns, not just keywords. A pattern is a syntactic and semantic similarity within a segment of code ranging from a snippet to a full branch.

When it comes to source code, Pattern Insight is intelligent. Because we understand and leverage syntax, Pattern Insight is able to parse code and find patterns that traditional search approaches can’t – for example “x = foo (y)” is the same pattern as “a = foo (b)”.

Pattern Insight is able to recognize code that is alike even if variable names, function names, or parameter options have been renamed. We can even understand code similarities that have statements inserted between them. We can identify the common pattern between “x = foo (y); z = x*20” and “a = foo (b); e = b; c = a*20”.

Home | Product | Careers | AboutUS Copyright © 2006-2008 Pattern Insight Inc.
All rights reserved.