Tag Archives: object code

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.

The Software IP Detective’s Handbook

My book on software intellectual property, a labor of love (and hate) for the last two years, has just been published by Prentice-Hall. The book is intended for several different audiences including computer scientists, computer programmers, business managers, lawyers, engineering consultants, expert witnesses, and high-tech entrepreneurs. Some chapters give easy-to-understand explanations of intellectual property concepts including copyrights, patents, and trade secrets. Other chapters are highly mathematical treatments describing quantitative ways of comparing and measuring software and software IP. The first chapter of the book outlines which chapters are most important for the different audiences.

Overall the book covers the following topics:

  • Key concepts of software intellectual property
  • Comparing and correlating source code for signs of theft or infringement
  • Uncovering signs of copying in object code when source code is inaccessible
  • Tracking malware and third-party code in applications
  • Using software clean rooms to avoid IP infringement
  • Understanding IP issues associated with patents, open source, and DMCA

You can purchase your copy from Amazon.com here.

SAFE introduces CodeSuite-LT

CodeSuite-LT® is a less expensive, limited version of the full CodeSuite tool. Each tool in the suite produces a readable report that can be used to find copying. CodeSuite-LT includes BitMatch, CodeCross, CodeDiff, CodeMatch, FileCount, and FileIsolate. It also includes the ability to filter results using SourceDetective. CodeSuite-LT does not produce a database and does not allow post-process filtering of results. Instead, it generates an easy-to-read report that can be used to pinpoint copying.

Which is Right For You?

Which product is right for you, CodeSuite or CodeSuite-LT? Click here for a table that compares the features of both programs so you can choose the right solution.

Interesting software IP cases of 2009

Here is my list of the most interesting software IP cases of 2009,
in chronological order:

SAFE Corporation is looking for great ideas

There are a lot of unanswered questions about source code, and we want to work with you to figure them out. We realize that currently accepted algorithms for analyzing, comparing, and measuring source code leave a lot to be desired in many cases. Also, there are a lot of techniques that have never been studied on large bodies of modern code. For example, measurement techniques developed in the 1970s were probably tested on assembly languages and older programming languages like BASIC, FORTRAN, and COBOL. Do they still hold on modern object oriented languages like Java and C#?

If you have a research idea relating to code analysis, and you can use the SAFE tools, let us know. Email Larry Melling, VP of Sales and Marketing with your ideas. If they pass our review process you’ll get free licenses to our tools, free support, and help getting your results published. This could be the beginning of a beautiful friendship.

Key points about software copyrights

First, a copyright exists at the moment of creation. In other words, a work does not need to be published to have a copyright. The copyright does not need to be registered with the U.S. Copyright office. It is simply a right given to the person who created the work. The advantage of registering a copyright with the government is that you then have an official document proving your ownership, making it easier to win in court against someone who attempts to use your creation without your permission. Registration can be done any time after the work is created, but is required in order to initiate litigation. Winning a copyright infringement case in court, when the copyright is registered before the infringement took place or within 3 months of the publication of the work, can entitle you to get back your attorney fees as well as “statutory damages,” which essentially constitute financial punishment that is not based on the amount of money lost by the author due to the infringement. This is done to encourage people to register their copyrights and to deter people from stealing them.

As the owner of a copyright, you have the right to reproduce the work, enhance the work, distribute the work, and perform it or display it in public.

With software, the copyright gives protection to the source code and the binary code generated from the source code. In order to register a copyright, it is normally necessary to file a copy of the intellectual property being protected with the US Copyright Office as proof. Since most software contains valuable trade secrets (which we discuss in a later section) that would lose their value if presented to the public, the copyright office allows software source code to be submitted with major sections “redacted” or left out. In fact, only the first 25 and last 25 printed pages of source code need to be submitted, though there are no guidelines as to what constitutes “first” and “last” in something consisting of many independent files and a complex interconnect of routines.

Note that a copyright notice is not required in the code, except for registering the copyright.