The software IP detectives handbook : measurement, comparison, and infringement detection
My book is generally about software intellectual property and specifically about the field of software forensics. Software forensics studies the software code that instructs a computer to perform operations. Software forensics discovers information about the history and usage of that software for presentation in a court of law.
I also include chapters on detecting patent infringement and on detecting trade secret infringement as well. To a programmer, defining the various elements that comprise software source code may seem trivial and unnecessary. However, to measure software accurately, we need to have a common definition.
Book Review: The Software IP Detective’s Handbook
There are many legitimate and useful definitions of source code for various purposes. For correlation, I found it important to consider that source code consists of three basic kinds of elements: statements, from which we can derive a control structure, comments that document the code, and strings that are generally messages to users. These elements are shown in the Table 1. Statements can be further broken down into instructions and identifiers.
Instructions comprise control words and operators.
- Caution! Wireless Networking: Preventing a Data Disaster.
- Bob Zeidman - ogylenij.ga?
- If You're an Educator.
- Measuring Whitespace Pattern Sequences as an Indication of Plagiarism;
- Principles For Determining The Air Force Active/Reserve Mix!
- My True Love Gave to Me: Twelve Holiday Stories?
Identifiers comprise variables, constants, functions, and labels. A single line of source code may include one or more statements and one or more comments. One of the challenges of defining a correlation measure was to have it yield large results even when only a small portion of code is correlated or only specific elements of code are correlated such as identifiers or comments. Many cases involve small, but important sections of code buried within very large files.
In fact, this is one way that some deceptive programmers purposely hide their copying. For example identifiers may have been renamed, code reordered, instructions replaced with similar instructions, and so forth. Or a small sequence of critical instructions is identical. Correlation is designed to produce a relatively high value based on that comment or that sequence, to direct the detective toward that similarity.
If correlation were simply a percentage of copied lines, the number could be small and thus missed entirely among the noise of normal similarities that occur in all programs.
That determination is up to the detective who uses the correlation measure and examines the code, and it is ultimately up to the court in a case of intellectual property theft or infringement. Finding a correlation between different programs does not necessarily imply that illicit behavior occurred. Two programs can be correlated because they both use the same third-party code such as open source code or commercial source code libraries.
Correlation can also be caused by two programs being generated, completely or partially, by a code generation tool like Microsoft Visual Studio or Adobe Dreamweaver.
- Dynamic Fleet Management: Concepts, Systems, Algorithms & Case Studies.
- Design and Construction Specification for Marine Loading Arms?
- Buying Options;
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. Visit www. Bob Zeidman is president and founder of Zeidman Consulting www. Since , he has designed chips and boards for RISC-based systems, network equipment, and other complex systems. Most helpful customer reviews on Amazon. Verified Purchase.
I've had this book for a few years now and it is one of the few that is within arm's reach at my desk. Recently I referred to it with regards to a trade secret misappropriation case I'm working on. This book was the primary source of my understanding in distinguishing between patents, copyrights, and trade secrets.
Not only to understand the differences, but to also know how each should be handled differently. This understanding helped in a recent deposition to distinguish and keep straight copyrighted code from trade secret code.
Bob Zeidman | Electronic Design | Electronic Design
I have also used this book in cases of alleged stolen code to know of various possible ways of attempting to hide stolen code. In addition to content to help a computer scientist understand legal aspects, this book also has content to help attorneys understand software nuances, which has helped me educate attorneys. This book is also useful for software development teams to know how to protect their code and to avoid illegally using other source code.
Go to Amazon. Back to top. Get to Know Us. English Choose a language for shopping. Length: pages. Word Wise: Enabled. Enhanced Typesetting: Enabled.