Product Cover Image

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

By Bob Zeidman

Published by Prentice Hall

Published Date: Apr 28, 2011

Description

“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 www.SAFE-corp.biz to download a free trial version of CodeSuite®, the #1 tool for detecting software copying.

Table of Contents

Preface xxi

Acknowledgments xxiii

About the Author xxv

 

Part I: Introduction 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

 

Part II: Software 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

 

Part III: Intellectual Property 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

 

Part IV: Source Code Differentiation 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

 

Part V: Source Code Correlation 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

 

Part VI: Object and Source/Object Code Correlation 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

 

Part VII: Source Code Cross-Correlation 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

 

Part VIII: Detecting Software IP Theft and Infringement 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

 

Part IX: Miscellaneous Topics 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

 

Part X: Conclusion: Past, Present, and Future 407

 

Glossary 409

References 423

Index 435

Purchase Info

ISBN-10: 0-13-273306-4

ISBN-13: 978-0-13-273306-9

Format: eBook (Watermarked)?

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe popular standard, used most often with the free Adobe® Reader® software.

This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Includes EPUB, MOBI, and PDF

$39.99

Add to Cart