Recent Posts

Topics

Main menu:

Search

Recent Comments

Archives

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.

SAFE Corporation Awarded Patent Number Six for its CodeSuite Software Forensics Tool

The CodeCross function of CodeSuite compares functional source code to commented-out source code

CUPERTINO, CA (February 9, 2015) – Software Analysis & Forensic Engineering Corporation, the leading provider of forensic tools for software copyright and trade secret analysis, had its sixth patent allowed covering its CodeSuite® tool for comparing software code to help detect copyright infringement.

This latest patent is entitled “Detecting Plagiarism in Computer Source Code” and covers the CodeCross functionality that compares functional code to non-functional code. CodeSuite is the only commercially successful tool for comparing computer source code and object code to find infringement that has been accepted by the courts. It has been used successfully in over 70 intellectual property litigations worldwide. CodeSuite has been recognized by the USPTO as a unique invention. Our customers agree.

“Other programs that compare software don’t provide any understanding about the comparison or the results,” according to Gary Stringham of Gary Stringham & Associates, who has used CodeSuite in his expert witness cases. “Things match or they don’t. Only CodeSuite allows me to delve into the reasons for the matches, search the Internet for comparable third-party code, and then systematically filter out false positives. This means I can focus on possible infringement very quickly. Or, if nothing is left after filtering, I have a very strong argument against infringement.”

“CodeSuite has survived every challenge in court that it’s ever faced,” says Bob Zeidman, president of SAFE Corporation and inventor of CodeSuite. “Judges and juries like the quantitative, objective measurements produced by CodeSuite when they’re produced by a qualified expert trained in the tool. We provide online certification courses that give lawyers confidence that the expert knows how to use the tool and produce rock solid results that will stand up to scrutiny in court.”

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. Pricing varies from $10 per megabyte for CodeCross® to $400 per megabyte for CodeMatch®. A six-month unlimited use license for CodeSuite is $50,000. A limited feature version of the program, CodeSuite-LT, is available for a six-month unlimited license for $3,000. Free trial licenses can be requested by contacting sales@SAFE-corp.biz.

Was the Microsoft Empire Built on Stolen Goods?

The history of the computer industry is filled with fascinating tales of sudden riches and lost opportunities. Take that of Ronald Wayne, who cofounded Apple Computer with Steve Wozniak and Steve Jobs but sold his shares for just US $2,300. And John Atanasoff, who proudly showed his digital computer design to John Mauchly who later codesigned the Eniac, typically recognized as the first electronic computer, without credit to Atanasoff. Perhaps the most famous story of missed fame and fortune is that of Gary Kildall. A pioneer in computer operating systems, Kildall started the company Digital Research and wrote Control Program for Microcomputers (CP/M), the operating system used on many of the early hobbyist personal computers, such as the MITS Altair 8800, the IMSAI 8080, and the Osborne 1, before IBM introduced its own PC. Kildall could have been the king of personal computer software, but instead that title went to his small-time rival Bill Gates. For years, rumors have circulated that the code for the original DOS operating system sold by Microsoft is actually copied from the CP/M operating system developed by Digital Research.

A couple years ago we took it upon ourselves to search out the original code and use CodeSuite to determine the truth once and for all. Our research was summarized in a popular (and not-so-popular) article in IEEE Spectrum entitled Did Bill Gates Steal the Heart of DOS? If you haven’t read it, you should. It’s a fun read but it only summarizes our exhaustive results using our tools and procedures for finding copied code. The article generated a lot of controversy and we always intended to publish the full technical details of our analysis, but it’s surprising how many people don’t like our conclusion and wouldn’t publish my paper. But now the full academic paper entitled A Code Correlation Comparison of the DOS and CP/M Operating Systems is available online in the Journal of Software Engineering and Applications. If you want to know the details, and you want to know the truth, it’s in the article and the details are in the paper.

Just Enough Electronics to Impress Your Friends and Colleagues

My new book is a great addition to any IP lawyer’s library.  It takes you on a whirlwind tour of the fundamentals of electronics.  By the end, you’ll be familiar with the basic concepts of various kinds of modern electronic technologies and devices.  Especially for IP attorneys without an engineering degree, it will enable you to converse with your experts and consultants.  For those IP attorneys who have been away from technology for a while, this will help you brush up. The topics covered are:

  1. Electricity
  2. Linear Devices
  3. Electricity as Sound
  4. Nonlinear Devices
  5. Transmission Lines
  6. Digital Logic
  7. Semiconductor Technology
  8. Memory Devices
  9. Application Specific Integrated Circuits (ASICs)
  10. Programmable Devices (CPLDs and FPGAs)
  11. Computer Architecture
  12. Engineering Equipment

You can order your copy on Amazon here or at other online and brick-and-mortar bookstores.

Vote for IP Watchdog

If you want to get up-to-date information on the world of intellectual property, and you want it to be interesting, passionate (yes, some people are passionate about IP) and sometimes even controversial (yes, IP can also provoke fiery controversy), then you definitely need to sign up for Gene Quinn’s IP Watchdog blog.

IP Watchdog is considered one of the most influential IP blogs in cyberspace. In fact, the American Bar Association runs a poll each year to rank the best law blogs, and IP Watchdog usually comes out on top or near the top for IP blogs. But as they say on DWTS, you need to vote! There’s no guarantee that your celebrity will win. So I’m asking you to vote for IP Watchdog in the ABA blawg 100 competition. Go here to vote and look for IP Watchdog in the… where else?… IP category.

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.

 

FileIdentify™

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.

 

XML

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.

Job Opening: Software Forensic Engineer

Zeidman Consulting, a leading research and development company (and sister  company to SAFE Corporation), is looking to hire a full-time software forensic engineer. Acting as a high-tech sleuth, this person will analyze and reverse-engineer software using CodeSuite® and other state-of-the-art software tools, helping to resolve lawsuits involving hundreds of millions or billions of dollars. The employee will also work on one of several ongoing cutting edge research projects. These projects often lead to publication in academic journals, presentations at conferences, patents, and new product spinoffs. Past and ongoing projects include:

  • CodeMatch®, a program for comparing and measuring the similarity of different programs.
  • CodeGrid®, a computer grid-enabled version of CodeMatch®.
  • HTML Preprocessor™, a tool for breaking complex HTML pages into components consisting of text, pure HTML, JavaScript, images, etc.
  • RPG, a tool for automatically generating expert reports for copyright, trade secret, and patent litigation.

A successful candidate will need the following attributes:

  • At least a bachelor’s degree in computer science or equivalent. Advanced degree is preferred.
  • Excellent programming skills in one or more programming languages.
  • Ability to work independently on projects that are not well-defined.
  • Excellent verbal and writing skills for creating detailed specifications and reports.
  • Ability to work on multiple projects simultaneously and to switch projects suddenly as the need arises.
  • Enjoys working long hours on interesting projects, including weekends when projects hit critical periods.
  • Enjoys free time when projects are not in critical periods.

Zeidman Consulting pays above average salaries with profit-sharing and provides health insurance and paid time off for holidays, vacation, and illness. To apply, please email a resume to Info@ZeidmanConsulting.com.

Be a Pioneer in the Field of Software Forensics

I hope you’re all aware of my book The Software IP Detective’s Handbook: Measurement, Comparison, and Infringement Detection. It’s the first book on Software Forensics, a field that I pioneered at Software Analysis and Forensic Engineering and Zeidman Consulting. Whereas Digital Forensics deals with bits and files, without any detailed knowledge of the meaning of the data, Software Forensics deals with analysis of software using detailed knowledge of its syntax and functionality to perform analysis to find stolen code and stolen trade secrets. The algorithms described in the book have been used in many court cases. The book also describes algorithms for measuring software evolution, particularly as it relates to IP changes.

If you are a teacher, this is a great time to incorporate the materials in the book into your courses on software development, intellectual property law, business management, and computer science. There’s something for everyone in the various chapters of the book. Your students and you will be at the forefront of an important and very new field of study.

If you’re interested, please contact me.

HTML Preprocessor Released

S.A.F.E. recently released the HTML Preprocessor. The HTML Preprocessor is designed to transform web pages into files that are amenable to analysis by CodeSuite, DocMate, and other source code analysis tools. The HTML Preprocessor examines HTML files and other markup language files and extracts all embedded code into separate files. These files each contain only one kind of code that can be easily analyzed and compared using CodeSuite and DocMate. The code contained in these generated files are:

  • Scripts such as JavaScript and VBScript
  • Cascading style sheets (CSS)
  • Comment text containing HTML comments
  • Message text containing HTML user messages
  • HTML tags
  • Pure HTML
  • Pseudocode representation of the HTML

Ways to Infringe a Patent

A patent can be infringed in two basic ways: directly and indirectly. These different ways of infringing are important to understand by anyone wanting to enforce patents and by anyone wanting to avoid infringing a patent.

Direct Infringement

A patent claim is directly infringed by some product when that product practices each “limitation” of the claim when the claim is a method claim, or includes a structure equivalent to each “limitation” of the claim when the claim is an apparatus claim, or does both in the case of a means-plus-function claim. The term “limitation” is used by lawyers and those in the know to mean the step or steps spelled out in the patent claim.

There is another way of directly infringing known as the doctrine of equivalents. If a product doesn’t perfectly meet the limitations of a claim, it may still infringe on the patent if it does something that a person of ordinary skill in the art (“POSITA” or “OOSITA”) would know was equivalent. While this may seem like a loophole, it’s actually quite fair. Suppose someone patents a “glass bulb containing a filament that produces light when an electric current is sent through it.” The inventor may not realize that a bulb made of specially treated plastic would also work. The key to the invention isn’t the material from which the bulb is made. Thus a plastic bulb could infringe on the patent because of the doctrine of equivalents.

Indirect Infringement

If a product doesn’t directly infringe a patent, it may also indirectly infringe. There are two types of indirect infringement: induced infringement and contributory infringement. Encouraging others to infringe a patent is called “induced infringement.” When two products working together infringe on a patent, that’s called “contributory infringement.”

Induced infringement

Induced infringement occurs when some party purposefully causes or encourages another party to infringe a patent. The key work here is “purposely.” Induced infringement must meet these criteria:

  • The infringer actively encouraged or instructed another party on how to use a product or perform a process in a way that infringes the patent claims.
  • The infringer knew of the patent.
  • The infringer knew or should have known that the encouragement or instructions would induce infringement of the patent.
  • The other party actually infringed the patent.

So induced infringement requires that the infringer purposely got another party to infringe a patent. Let’s say you have a software company that produces word processing software, and your competitor has a patent on checking the spelling of words in a document and putting a squiggly red line under misspelled words. You need a spell checker, but you don’t want to infringe, so your product outputs misspelled words to a separate file and you recommend that your customers buy third-party software that reads in that separate file and puts squiggly red lines in the documents. You may be inducing infringement by encouraging your customers to perform the patented method. And don’t try to use an orange line or a chartreuse line, because you’ll probably still be infringing under the doctrine of equivalents.

Contributory Infringement

Contributory infringement occurs when one party who knows about the patent supplies a component to another party to use in an infringing product. Contributory infringement occurs if the party who received the component directly infringes the patent and if the component has the following characteristics:

  • The component is a significant part of the invention.
  • The component is especially made for use in a way that infringes the patent.
  • The supplier knows that the component was especially made for that use.
  • The component doesn’t have any substantial non-infringing use.

So contributory infringement requires that the infringer knowingly supplied another party with a product that was incorporated into a second product, causing the combination to infringe a patent.

Let’s take the example again of your word processing company. Suppose your word processing company decides to buy the third-party squiggle generator software to incorporate into your word processor. You meet with the head of the squiggler company and tell her that your word processor doesn’t infringe on your competitor’s product and the squiggler doesn’t infringe. You want to embed the squiggler into the word processor. At that point you’ve just lost the game, because the squiggler company knows that the combination infringes and so they can be found to be contributory infringers. Because it’s your product, you can be liable for direct infringement in this scenario.

However, if the squiggler can be used to underline important words, hyperlinks, and naughty words in addition to misspelled words, then the squiggler company may be OK because the component has significant uses that are non-infringing.