Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

Part VI: Object and Source/Object Code Correlation

Part VI: Object and Source/Object Code Correlation

“It is of the highest importance in the art of detection to be able to recognize, out of a number of facts, which are incidental and which vital. Otherwise your energy and attention must be dissipated instead of being concentrated.”

—Sherlock Holmes in The Adventure of the Reigate Puzzle

In this part I discuss object code correlation and source/object code correlation. Object code correlation is the result of comparing object code files to other object code files. Source/object code correlation is the result of comparing source code files to object code files. Both object code correlation and source/object code correlation have the same mathematical framework as source code correlation.

Object code correlation and source/object code correlation have limitations that will be discussed. Despite these limitations, object code correlation and source/object code correlation have been found to be useful for the following tasks when no source code is available or source code is available from only one party:

  • Initiating a copyright infringement case

  • Determining common authorship

  • Finding third-party code

  • Detecting software licensing agreement violations (for example, open source licenses)

Object code correlation and source/object code correlation are designed to yield high scores even when only a small portion of code is correlated or only specific elements of code are correlated. They are designed to lead the user to suspicious sections of code, regardless of how small those sections are, and enable the user to decide whether source code should be obtained to do a more rigorous analysis. As with source code correlation, object code correlation and source/object code correlation cannot determine the reason for the correlation, but only whether the correlation exists.

In Chapter 18, I explain the theory behind object code correlation and source/object code correlation, which will get a little mathematical, but anyone with an understanding of basic algebra should be able to follow. In Chapter 19, I discuss implementations of object code correlation and source/object code correlation. In other words, I describe algorithms for creating a program to measure object code correlation and source/object code correlation. In Chapter 20 I describe applications of object code correlation and source/object code correlation, including existing applications and possible future applications.

Much of the mathematics and algorithms described in this section are used in the BitMatch function of the CodeSuite program developed and distributed by S.A.F.E. Corporation.

Objectives

The objective of this part of the book is to give theoretical, mathematical foundations for software object code correlation and source/object code correlation that can be used for basic comparisons of software, and I also describe applications and implementations of object code correlation and source/object code correlation. In particular, software object code correlation and source/object code correlation are used to compare elements of software in order to detect similarities that might be hidden from a basic bit-by-bit comparison. Although object code correlation and source/object code correlation can include a functional correlation element, such a functional correlation can be extremely time-consuming and very error-prone. Object code correlation measures and source/object code correlation measures that compare only certain literal code elements turn out to be very useful and can be calculated in a reasonable amount of time.

Intended Audience

Computer scientists and computer programmers will find this part useful for understanding the theory, implementation, and application of object code correlation and source/object code correlation, and they will be able to build upon this theory and practice for a variety of uses. Technical consultants and expert witnesses for litigation will find this part useful for understanding the theory, implementation, and application of object code correlation and source/object code correlation and will be able to use it in software IP litigation, particularly copyright infringement cases, certain kinds of trade secret theft cases, and possibly patent infringement cases. Intellectual property lawyers and corporate managers with an understanding of algebra will find this part useful, especially to get a deep understanding of the theory, implementation, and application of object code correlation and source/object code correlation and the associated tools that can be used in software IP litigation. Software entrepreneurs will find this part useful for understanding object code correlation and source/object code correlation to apply it to new software products and new businesses.

 



  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial