Tag Archives: CodeSuite

SAFE Corporation Awarded Seventh Patent for CodeSuite® Software Forensics Tool

SourceDetective searches the Internet to defend against charges of copying

CUPERTINO, CA (June 3, 2015) – Software Analysis & Forensic Engineering Corporation, the leading provider of forensic tools for software copyright and trade secret analysis, recently earned a seventh patent covering its CodeSuite® tool for comparing software code to help detect copyright infringement.

US patent 9,043,375, “Searching the Internet for Common Elements in a Document in Order to Detect Plagiarism,” covers CodeSuite’s innovative SourceDetective® functionality. While other “software plagiarism detection” tools perform a comparison of code and provide an indication of copying, SourceDetective takes the analysis further by searching the Internet to determine whether code in two different programs – including open source code – might be third-party code.

CodeSuite is the only commercially successful tool for comparing computer source code and object code to find infringement. It has been used successfully in more than 70 intellectual property litigations worldwide, and is recognized by the United States Patent and Trademark Office (USPTO) as a unique invention.

“I developed CodeSuite to overcome the inaccuracies common to other tools that can result in false positives and false negatives,” says Bob Zeidman, president of SAFE Corporation and inventor of CodeSuite. “Too much is at stake for the people and companies involved in IP litigation to rely on false results of any kind.”

CodeSuite 4.7 is available now and can be purchased on a term license or project basis. Project pricing is based on the size of code analyzed and the specific function used for the analysis. More information, and free trial licenses, can be requested by contacting sales@SAFE-corp.biz.

S.A.F.E. Releases CodeSuite 4.7

Software Analysis and Forensic Engineering has just released a new version  of CodeSuite that has some really great new features.


PID  spreadsheets

What’s  a PID? It’s a partial identifier. Or more specifically, a partially matching identifier. That’s where two identifiers in code almost match. So for example, the identifiers identifier1 and confident_boy share the partial identifier (or “PID”) ident. CodeMatch has always been able to correlate PIDs and use that in calculating the identifier correlation score as a component of the entire correlation score between two source code files. But there can be so many PIDs that users got blurry-eyed trying to view them all and find suspicious ones in a CodeMatch HTML report. So we came up with a solution. You can now export the PIDs from a CodeSuite database into a spreadsheet. You can see not only the PIDs, but the original identifiers that share the PIDs. Now you can sort and select, cut and paste, and generally look for clues to copying in a simple spreadsheet.



Part of our process for finding copying has been to first find all the source code files in a directory of files so that you know what to examine. However, there are lots of source code files, and some can be missed. Some programming languages are a bit uncommon and you may not recognize the source code files. Well, we found a solution to that too. The new FileIdentify function of CodeSuite allows you to point at a folder and generate a spreadsheet containing all of the file extensions in that folder and all subfolders. If CodeSuite recognizes the (potential) programming language, it will put that information in the spreadsheet too.



From the beginning of CodeSuite, when there was only CodeMatch, the database has always been a fully documented text file that anyone can view. This allows our customers to make their own tools to extract data and statistics from a CodeSuite comparison, and some customers have created some very interesting utilities. Our database format was simple, but grew more complex over the years. Now we have a function in CodeSuite that converts any CodeSuite database into XML so that you can use off-the-shelf tools to examine it, translate it, or write utilities to extract data and statistics.