SAFE Banner



Software Scan

The President's Column

Can the government fix a broken patent system? And do we trust it to do so? Read about the Peer-to-Patent program in the Scanning IP section of this newsletter.

Send me your comments and critiques. I'm always interested in hearing from you.


Bob Zeidman
President, SAFE Corporation

Scanning IP

Words to Fear: I'm From the Government and I'm Here to Help

So the government is finding ways to fix the patent system. One of those fixes is the Peer-to-Patent program. It seems like a good idea. In order to speed up the granting of good patents and quickly eliminate the bad ones, allow people from everywhere and anywhere to submit prior art. If that's actually the way it worked, I'd celebrate; it would be a great resource for finding prior art and making the patent office more efficient. Unfortunately my experience is that the program creates more problems than it fixes. The patent office invited me to participate in the program. Two people posted "invalidating prior art" for my patent application entitled "Detecting Plagiarism in Computer Source Code." This art was related to my invention, but definitely was not invalidating. Here is the first independent claim of my original patent application:

  1. A computer-implemented method comprising:
    1. creating, by a computer system, a first array of lines of functional program code from a first program source code file, the first program source code file including the lines of functional program code of a first program and lines of nonfunctional comments of the first program;
    2. creating, by the computer system, a second array of lines of nonfunctional comments from a second program source code file, the second program source code file including lines of functional program code of a second program and the lines of nonfunctional comments of the second program;
    3. comparing, by the computer system, the lines of functional program code from the first array with the lines of nonfunctional comments from the second array to find similar lines;
    4. calculating, by the computer system, a similarity number based on the similar lines; and
      presenting to a user an indication of copying of the first program source code file wherein said indication of copying is defined by the similarity number.

Here is the only dependent claim of the prior art patent US 7,568,109:

  1. A system for comparing at least a first corpus to a second corpus, comprising:
    1. an analyzer identifying concepts in the corpuses, said analyzer determining a frequency rating of each of said concepts in each corpus;
    2. for each corpus, replacing each instance of each of said concepts with its respective determined frequency rating to create a frequency file;
    3. and a comparator comparing the frequency file for the first corpus to the frequency file for the second corpus, wherein said comparing the frequency file for the first corpus to the frequency file for the second corpus further comprises comparing portions of one corpus against the other corpus.

The second prior art submission was simply a reference to the UNIX diff command. While the diff command is relevant, it is a simple line-by line comparison of text files without any understanding or parsing of programming source code. It doesn't separate functional lines of code (statements) from nonfunctional lines (comments).

Judging by their remarks, the posters to the Peer-to-Patent site didn't understand patents, and didn't read the patent claims. They should be allowed to post references, but the ultimate decision must be in the hands of those trained in examining patents. However, the patent examiner told me that her supervisor didn't want to issue a patent that had been publicly noted to be invalid, and so after months of arguments I had to arbitrarily narrow the claims to get allowance, resulting in patent US 7,823,127. So now, anyone from anywhere with any ulterior motive (particularly those who believe no software should be patentable) can bring about the quick rejection of an otherwise useful and valid patent.

Advanced Tools to Detect Software Plagiarism and IP Theft

A sophisticated set of tools for analyzing software source code and object code including:

Check binary object code for plagiarism.

Measure software IP changes between versions of a program.

Cross check source code for plagiarism.

Compare source code to find differences and measure changes.

The premiere tool for pinpointing copying.

Scour the Internet for plagiarized code.

Turbo charge your analysis on a supercomputer grid.

Get Smart

SAFE offers training at our facility or yours or on the Web. Contact us to make arrangements:

MCLE credit in software IP

CodeSuite certification

Your New Office

Remember that you can now have your own secure office at the SAFE facility for storing proprietary software, running CodeSuite, analyzing the results, and getting onsite support. We're located at

20863 Stevens Creek Blvd.
Suite 456
Cupertino, CA 95014
(408) 517-1167

This newsletter is not legal advice. Views expressed herein should be checked for accuracy and current applicability.
Copyright 2010 Software Analysis & Forensic Engineering Corporation