The Software IP Detective's Handbook: Measurement, Comparison, and Infringement Detection / Edition 1

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $31.24
Usually ships in 1-2 business days
(Save 37%)
Other sellers (Paperback)
  • All (4) from $31.24   
  • New (2) from $39.26   
  • Used (2) from $31.24   


“Intellectual property, software plagiarism, patents, and copyrights are complicated subjects. This book explains the key elements better than anything else I have seen. I highly recommend it to anyone who develops software or needs to protect proprietary software algorithms, and to all attorneys involved with IP litigation.”

–Capers Jones, President, Capers Jones & Associates LLC

“Intellectual property is an engine of growth for our high tech world and a valuable commodity traded in its own right. Bob Zeidman is a leading authority on software intellectual property, and in this book he shares his expertise with us. The book is comprehensive. It contains clear explanations of many difficult subjects. Business people who study it will learn how to protect their IP. Lawyers will use it to understand the specifics of how software embodies IP. Judges will cite it in their decisions on IP litigation.”

–Abraham Sofaer, George P. Shultz Senior Fellow in Foreign Policy and National Security Affairs, Hoover Institution, Stanford University

The Definitive Software IP Guide for Developers, Managers, Entrepreneurs, Attorneys, and Consultants

In The Software IP Detective’s Handbook, pioneering expert Bob Zeidman–creator of CodeSuite®, the world’s #1 software IP analysis tool–thoroughly covers all technical and legal aspects of IP theft detection. Using his rigorous framework and practical examples, you can accurately determine whether software copying, theft, or infringement has occurred, and fully support your findings in any venue. This book will help you

  • Understand the key concepts that underlie software IP analysis
  • Compare and correlate source code for signs of theft or infringement
  • Uncover signs of copying in object code when source code is inaccessible
  • Track malware and third-party code in applications
  • Use software clean rooms to avoid IP infringement
  • Understand IP issues associated with open source and DMCA

Visit to download a free trial version of CodeSuite®, the #1 tool for detecting software copying.

Read More Show Less

Editorial Reviews

From the Publisher

“As a frequent expert witness myself, I found Bob’s book to be important and well written. Intellectual property and software plagiarism are complicated subjects, as are patents and copyrights. This book explains the key elements better than anything else I have seen. The book is highly recommended to anyone who develops software and also to those who need to protect proprietary software algorithms. The book should also be useful to attorneys who are involved with intellectual property litigation.”

—Capers Jones, president, Capers Jones & Associates, LLC

“Intellectual property [IP] is an engine of growth for our high-tech world and a valuable commodity traded in its own right. Bob Zeidman is a leading authority on software IP, and in this book he shares with us his expertise. The book is comprehensive. It contains clear explanations of many difficult subjects. Businesspeople who study it will learn how to protect their IP. Lawyers will use it to understand the specifics of how software embodies IP. Judges will cite it in their decisions on IP litigation.”

—Abraham Sofaer, George P. Shultz Senior Fellow in Foreign Policy and National Security Affairs, Hoover Institution, Stanford University

“Bob has done a fantastic job in making computer science forensics understandable to mere mortals: attorneys, engineers, and managers. This is the ultimate handbook for expert witnesses, due diligence execution, and developing a baseline for software valuation. Buy it before your competitors do!”

—Don Shafer, CSDP, chief technology officer, Athens Group, LLC

“Bob has considerable experience in dealing with issues associated with unauthorized use of software code. His insights in this book are particularly helpful for those seeking to provide expert analysis with respect to software code.”

—Neel I. Chatterjee, partner, Orrick, Herrington & Sutcliffe, LLC

“This readable book perfectly bridges the jargon divide between software engineers and IP attorneys. It helps each group finally understand exactly what the other is talking about. As a software developer and expert witness I will definitely keep a copy handy and recommend it to others on my team.”

—Michael Barr, president, Netrino, LLC

“This book makes intellectual property law understandable and accessible to programmers by combining discussions of the law with discussions of computer science, and interweaving case studies to elucidate the intersection of these disciplines.”

—Robert C. Seacord, Secure Coding Manager, Software Engineering Institute

Read More Show Less

Product Details

  • ISBN-13: 9780137035335
  • Publisher: Prentice Hall
  • Publication date: 5/12/2011
  • Edition number: 1
  • Pages: 480
  • Product dimensions: 7.00 (w) x 9.00 (h) x 1.00 (d)

Meet the Author

Bob Zeidman is president and founder of Zeidman Consulting (, a leading Silicon Valley contract R&D firm specializing in engineering consulting on IP disputes. Since 1983, he has designed chips and boards for RISC-based systems, network equipment, and other complex systems. His clients have included Apple, Cisco, Cadence, Facebook, Symantec, Texas Instruments, and Zynga. Zeidman has worked on and testified in cases involving billions of dollars in disputed IP. He is also president and founder of Software Analysis and Forensic Engineering Corporation ( A prolific writer and instructor, he holds multiple patents, an M.S.E.E. from Stanford, and a B.A. in physics and a B.S. in electrical engineering from Cornell.

Read More Show Less

Table of Contents

Preface xxi

Acknowledgments xxiii

About the Author xxv

P art I: I ntroduction 1

Objectives 2

Intended Audience 2

Chapter 1: About this Book 5

Part I: Introduction 6

Part II: Software 6

Part III: Intellectual Property 6

Part IV: Source Code Differentiation 9

Part V: Source Code Correlation 9

Part VI: Object and Source/Object Code Correlation 10

Part VII: Source Code Cross-Correlation 10

Part VIII: Detecting Software IP Theft and Infringement 11

Part IX: Miscellaneous Topics 11

Part X: Past, Present, and Future 11

Chapter 2: Intellectual Property Crime 13

2.1 The Extent of IP Theft 14

P art II: S oftware 21

Objectives 22

Intended Audience 22

Chapter 3: Source Code 23

3.1 Programming Languages 24

3.2 Functions, Methods, Procedures, Routines, and Subroutines 26

3.3 Files 32

3.4 Programs 35

3.5 Executing Source Code 36

Chapter 4: Object Code and Assembly Code 39

4.1 Object Code 39

4.2 Assembly Code 40

4.3 Files 43

4.4 Programs 44

Chapter 5: Scripts, Intermediate Code, Macros, and Synthesis Primitives 45

5.1 Scripts 45

5.2 Intermediate Code 47

5.3 Macros 48

5.4 Synthesis Primitives 49

P art III: I ntellectual P roperty 53

Objectives 55

Intended Audience 55

Chapter 6: Copyrights 57

6.1 The History of Copyrights 57

6.2 Copyright Protections 60

6.3 Software Copyrights 63

6.4 Allowable and Nonallowable Uses of Copyrighted Code 72

Chapter 7: Patents 79

7.1 The History of Patents 80

7.2 Types of Patents 81

7.3 Parts of a Patent 82

7.4 Patenting an Invention 85

7.5 Special Types of Patent Applications 86

7.6 Software Patents 90

7.7 Software Patent Controversy 91

7.8 Patent Infringement 95

7.9 NPEs and Trolls 99

Chapter 8: Trade Secrets 103

8.1 The History of Trade Secrets 103

8.2 Uniform Trade Secrets Act (UTSA) 104

8.3 Economic Espionage Act 105

8.4 Aspects of a Trade Secret 106

8.5 Trade Secret Theft 111

8.6 Patent or Trade Secret? 112

Chapter 9: Software Forensics 113

9.1 Forensic Science 115

9.2 Forensic Engineering 116

9.3 Digital Forensics 119

9.4 Software Forensics 120

9.5 Thoughts on Requirements for Testifying 121

P art IV: S ource C ode D ifferentiation 125

Objectives 126

Intended Audience 126

Chapter 10: Theory 127

10.1 Diff 128

10.2 Differentiation 133

10.3 Types of Similarity 135

10.4 Measuring Similar Lines 136

10.5 Measuring File Similarity 140

10.6 Measuring Similar Programs 142

Chapter 11: Implementation 147

11.1 Creating and Comparing Arrays 147

11.2 Number of Optimal Match Score Combinations 151

11.3 Choosing Optimal Match Scores for Calculating File Similarity 153

11.4 Choosing File Similarity Scores for Reporting Program Similarity 161

Chapter 12: Applications 165

12.1 Finding Similar Code 165

12.2 Measuring Source Code Evolution 168

P art V: S ource C ode C orrelation 183

Objectives 185

Intended Audience 185

Chapter 13: Software Plagiarism Detection 187

13.1 The History of Plagiarism Detection 187

13.2 Problems with Previous Algorithms 189

13.3 Requirements for Good Algorithms 192

Chapter 14: Source Code Characterization 197

14.1 Statements 199

14.2 Comments 206

14.3 Strings 207

Chapter 15: Theory 209

15.1 Practical Definition 210

15.2 Comparing Different Programming Languages 213

15.3 Mathematical Definitions 214

15.4 Source Code Correlation Mathematics 215

15.5 Source Code Examples 216

15.6 Unique Elements 218

15.7 Statement Correlation 219

15.8 Comment/String Correlation 223

15.9 Identifier Correlation 225

15.10 Instruction Sequence Correlation 227

15.11 Overall Correlation 228

Chapter 16: Implementation 233

16.1 Creating Arrays from Source Code 234

16.2 Statement Correlation 239

16.3 Comment/String Correlation 240

16.4 Identifier Correlation 241

16.5 Instruction Sequence Correlation 243

16.6 Overall Correlation 245

16.7 Comparing Programs in Different Programming Languages 246

16.8 Comparing Sections of Code Other than Files 246

Chapter 17: Applications 247

17.1 Functional Correlation 248

17.2 Identifying Authorship 249

17.3 Identifying Origin 251

17.4 Detecting Copyright Infringement (Plagiarism) 252

17.5 Detecting Trade Secret Theft 252

17.6 Locating Third-Party Code (Open Source) 253

17.7 Compiler Optimization 254

17.8 Refactoring 254

17.9 Detecting Patent Infringement 255

P art VI: O bject and S ource /O bject C ode C orrelation 257

Objectives 258

Intended Audience 259

Chapter 18: Theory 261

18.1 Practical Definition 266

18.2 Extracting Elements 268

18.3 Comparing Different Programming Languages 270

18.4 Mathematical Definitions 270

18.5 Object and Source/Object Code Correlation Mathematics 272

18.6 Comment/String Correlation 273

18.7 Identifier Correlation 274

18.8 Overall Correlation 275

18.9 False Negatives 276

Chapter 19: Implementation 279

19.1 Creating Text Substring Arrays from Object Code 279

19.2 Creating Arrays from Source Code 283

19.3 Identifier Correlation 287

19.4 Comment/String Correlation 287

19.5 Overall Correlation 287

Chapter 20: Applications 289

20.1 Pre-Litigation Detective Work 289

20.2 Tracking Malware 293

20.3 Locating Third-Party Code 293

20.4 Detecting Open Source Code License Violations 294

P art VII: S ource C ode C ross -C orrelation 295

Objectives 296

Intended Audience 296

Chapter 21: Theory, Implementation, and Applications 299

21.1 Comparing Different Programming Languages 300

21.2 Mathematical Definitions 300

21.3 Source Code Cross-Correlation Mathematics 301

21.4 Source Code Examples 303

21.5 Statement-to-Comment/String Correlation 307

21.6 Comment/String-to-Statement Correlation 308

21.7 Overall Correlation 308

21.8 Implementation and Applications 310

P art VIII: D etecting S oftware IP T heft and I nfringement 313

Objectives 315

Intended Audience 315

Chapter 22: Detecting Copyright Infringement 317

22.1 Reasons for Correlation 318

22.2 Steps to Find Correlation Due to Copying 326

22.3 Abstraction Filtration Comparison Test 331

22.4 Copyright Infringement Checklist 338

Chapter 23: Detecting Patent Infringement 341

23.1 Interpreting the Claims 341

23.2 Examining the Software 348

23.3 Tools 350

23.4 Determining Patent Validity 352

Chapter 24: Detecting Trade Secret Theft 359

24.1 Identifying Trade Secrets 360

24.2 Tools 367

P art IX: M iscellaneous T opics 369

Objectives 370

Intended Audience 370

Chapter 25: Implementing a Software Clean Room 371

25.1 Background 372

25.2 The Setup 374

25.3 The Procedure 376

Chapter 26: Open Source Software 383

26.1 Definition 383

26.2 Free Software 386

26.3 Open Source Licenses 388

26.4 Open Source Lawsuits 390

26.5 The Pervasiveness of Open Source Software 396

Chapter 27: Digital Millennium Copyright Act 399

27.1 What Is the DMCA? 399

27.2 For and Against the DMCA 400

27.3 Noteworthy Lawsuits 403

P art X: C onclusion : P ast , P resent , and F uture 407

Glossary 409

References 423

Index 435

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)