User:Toddlute/sandbox

Software forensics is the science of analyzing software source code or binary code to determine whether intellectual property infringement or theft occurred. It is the centerpiece of lawsuits, trials, and settlements when companies are in dispute over issues involving software patents, copyrights, and trade secrets. Software forensics tools can compare code to determine correlation, a measure that can be used to guide a software forensics expert.

Past methods of software forensics
Past methods of code comparison included hashing, statistical analysis , text matching , and tokenization. These methods compared software code and produced a single measure indicating whether copying had occurred. However, these measures were not accurate enough to be admissible in court because the results were not accurate, the algorithms could be easily fooled by simple substitutions in the code, and the methods did not take into account that fact that code could be similar for reasons other than copying.

Robert Zeidman
In 2003, Robert Zeidman developed algorithms, which he incorporated in the CodeSuite tool, for multidimensional software correlation that divides software code into basic elements and determines which elements are similar, or “correlated.” He also created a procedure for filtering and interpreting the correlations to eliminate reasons for correlation that are not due to copying: common algorithms, third-party code, common identifier names, common author, and automatic code generation. The combination of these algorithms and procedures resulted in a more reliable and quantitative analysis than was available previously. Zeidman’s book, "The Software IP Detective's Handbook," is considered the standard textbook for software forensics and the CodeSuite tools and methodology has been used in many software IP litigations including ConnectU v. Facebook, Symantec v. IRS, and SCO Group, Inc. v. International Business Machines Corp.

Copyright infringement
Following the use of software tools to compare code to determine the amount of correlation, an expert can use an iterative filtering process to determine that the correlated code is due to third-party code, code generation tools, commonly used names, common algorithms, common programmers, or copying. If the correlation is due to copying, and the copier did not have the authority from the rights holder, then copyright infringement occurred.

Trade secret protection and infringement
Software can contain trade secrets, which provide a competitive advantage to a business. To determine trade secret theft, the same tools and processes can be used to detect copyright infringement. If code was copied without authority, and that code has the characteristics of a trade secret—it is not generally known, the business keeps it secret, and its secrecy maintains its value to the business—then the copied code constitutes trade secret theft.

Trade secret theft can also involve the taking of code functionality without literally copying the code. Comparing code functionality is a very difficult problem that has yet to be accomplished by any algorithm in reasonable time. For this reason, finding the theft of code functionality is still mostly a manual process.

Patent infringement
As with trade secret functionality, it is not currently possible to scientifically detect software patent infringement, as software patents cover general implementation rather than specific source code. For example, a program that implements a patented invention can be written in many available programming languages, using different function names and variable names and performing operations in different sequences. There are so many combinations of ways to implement inventions in software that even the most powerful modern computers cannot consider all combinations of code that might infringe a patent. This work is still left to human experts using their knowledge and experience, but it is a problem that many in software forensics are trying to automate by finding an algorithm or simplifying process.

Objective facts before subjective evidence
One important rule of any forensic analysis is that the objective facts must be considered first. Reviewing comments in the code or searching the Internet to find information about the companies that distribute the code and the programmers who wrote the code are useful only after the objective facts regarding correlation have been considered. Once an analysis has been performed using forensic tools and procedures, analysts can then begin looking at subjective evidence like comments in the code. If the information in that subjective evidence conflicts with the objective analysis, analysts need to doubt the subjective evidence. Fake copyright notices, open source notifications, or programmer names that were added to source code after copying took place, in order to disguise the copying, are not uncommon in real-world cases of code theft.

Robert “Bob” Zeidman (born January 18, 1960) is an American electrical engineer, educator and inventor who has made contributions in Application Specific Integrated Circuit (ASIC) design, Field Programmable Gate Array (FPGA) design, embedded systems development, software synthesis, software analysis and software forensics. Best known as the inventor of software forensics, Zeidman’s pioneering research and development of software-forensics tools was instrumental in making detection of software source-code correlation practical and accurate, and in turning previously subjective information into empirical evidence. He has personally consulted on more than 160 court cases involving billions of dollars in disputed intellectual property, the software forensics tools he developed have been used in litigation worldwide, and his book, "The Software IP Detective's Handbook," is considered the standard textbook for software forensics.

Zeidman is also well known for his work developing embedded systems. Since 1987, Zeidman has designed ASICs, FPGAs, and PC boards for RISC-based parallel processor systems, vector supercomputers, laser printers, hardware emulators, network switches and routers, and various real-time systems. His clients have included Apple Computer, Cadence Design Systems, Cisco Systems, Intel, Mentor Graphics, Ricoh Systems, and Texas Instruments.

Zeidman received a master's degree in electrical engineering from Stanford University, and bachelor's degrees in electrical engineering and physics from Cornell University. He holds 22 granted patents and four pending patents.

Zeidman founded many companies, seven of which are still operating under his leadership: Z Enterprises (novelty items from Silicon Valley; May 1986 – present); Zeidman Consulting (hardware and software design services; October 1987 – present); eVault Remote Backup Service (January 1992 – April 1999); The Chalkboard Network (online business and engineering courses; January 1999 – December 2002); Zeidman Technologies (software tools for embedded software development; December 2002 – present); Software Analysis and Forensic Engineering Corporation (software tools for intellectual property litigation; September 2007 – present); SamAnna Designs (fashion accessories; January 2011 – present); Swiss Creek Publications (independent publisher; June 2012 – present); Firtiva (online videos and films; December 2013 – present).

Zeidman has written many technical papers on hardware and software design methods, and has taught courses on Verilog, ASIC, and FPGA design at engineering conferences throughout the world. He is the author of five engineering books: “Verilog Designer's Library,” “Introduction to Verilog,”  “Designing with FPGAs and CPLDs,” “The Software IP Detective's Handbook,” and “Just Enough Electronics to Impress Your Friends and Colleagues.”  He is the co-author of two engineering books: “Circuit Design: Know it All (Newnes Know it All)”  and “FPGAs: World Class Designs.”  He is also the author of three novels: “The Amazing Adventure of Edward and Dr. Sprechtmachen”,  “Horror Flick,”  and “Good Intentions.”

Zeidman is a senior member of the IEEE and was the recipient of the 1994 Wyle/EE Times American by Design Award, the 2003 Jolt Reader's Choice Award, the 2010 and the 2015 Outstanding Engineer Award from the IEEE Santa Clara Valley Section and from the Region 6 Central Area for his pioneering contributions to the field of software forensics. Zeidman has also won awards for writing and for the production and direction of short films.

Biography
Zeidman was born and raised in Philadelphia, Pennsylvania. He earned bachelor’s degrees in electrical engineering and physics from Cornell University in 1981 and a master’s degree in electrical engineering from Stanford University in 1982. From 1983 to 1988 Zeidman held engineering positions designing computer chips at four companies: Signetics (April 1983 – December 1984), ROLM Corporation (January – August 1985), American Supercomputers (September – December 1985), and Telestream (January 1986 – March 1988). In May 1986 Zeidman founded the company Z Enterprises, which produces novelty items from Silicon Valley such as posters, mugs, napkins and t-shirts. The company still operates today under Zeidman’s ownership.

In October 1987 Zeidman founded the company Zeidman Consulting, which provides hardware and software design services, engineering support and expert witnesses for high-tech litigation. The company still operates today with Zeidman as president. Zeidman’s work at Zeidman Consulting includes creating patented Molasses® virtualization software that enables a slow speed hardware emulator or prototype to be attached to a high-speed network in order to emulate network hardware in a live system. Zeidman also consulted on more than 160 court cases involving billions of dollars in disputed intellectual property, such as Brocade v. A10 Networks, for which he testified at trial, ConnectU v. Facebook (made famous in the Academy Award-winning movie, “The Social Network”), and Texas Instruments v. Samsung Electronics, which resulted in an award to his client of over $1 billion. At Zeidman Consulting, Zeidman also developed the software tools, SynthOS® and CodeSuite®, which became the flagship products for his two software companies, Zeidman Technologies (SynthOS) and Software Analysis and Forensic Engineering Corporation (CodeSuite).

In 1991 Zeidman wrote his first novel, “The Amazing Adventure of Edward and Dr. Sprechtmachen.”

In January 1992 Zeidman invented remote backup and founded the company eVault Remote Backup Service. The company closed in April 1999 and the intellectual property became part of EVault, which was sold to Seagate Technology in 2007.

In 1992 Zeidman wrote his second novel, “Horror Flick.”

In January 1999 Zeidman founded the company The Chalkboard Network, which ran until December, 2002. The company featured business and engineering courses from world-leading experts, hosted on the Internet and employing Depth Control®, an instructional design methodology for Web-based training that Zeidman developed.

Also in 1999 Zeidman wrote and published his first engineering text book, “Verilog Designer’s Library.”

In 2000 Zeidman wrote and published his second engineering text book, “Introduction to Verilog.”

In December 2002 Zeidman founded the company Zeidman Technologies, which provides software tools for embedded software development. The company’s patented flagship product is SynthOS® software that automatically synthesizes optimized source code for a custom real time operating system. The company still operates with Zeidman as president.

Also in 2002 Zeidman wrote and published his third engineering text book, “Designing with FPGAs and CPLDs.”

In September 2007 Zeidman founded the company Software Analysis and Forensic Engineering Corporation, which provides software tools for intellectual property litigation. The company’s main product is CodeSuite®, which includes the patented BitMatch®, CodeCross®, CodeDiff®, CodeMatch®, and SourceDetective® functions for accelerating the process of detecting copying of software code. The company still operates with Zeidman as president.

In 2008 Zeidman co-authored his fourth engineering text book, “Circuit Design: Know it All (Newnes Know it All).”

In 2009 Zeidman co-authored his fifth engineering text book “FPGAs: World Class Designs.”

In January 2011 Zeidman founded the company SamAnna Designs, which makes practical accessories that are also comfortable. Its first product is the SamAnna Luxury Wallet. The company still operates with Zeidman as owner.

Also in 2011 Zeidman wrote and published his sixth engineering text book, “The Software IP Detective’s Handbook.”

In June 2012 Zeidman founded the company Swiss Creek Publications, an independent publisher, which published four of Zeidman’s books: Introduction to Verilog,” “Just Enough Electronics to Impress Your Friends and Colleagues,” “The Amazing Adventure of Edward and Dr. Sprechtmachen,” “Horror Flick,” and “Good Intentions.” The company still operates with Zeidman as owner.

Also in 2012 Zeidman wrote and published his third novel, “Good Intentions.”

In December 2013 Zeidman founded the company Firtiva, a video-on-demand website built on a patented technology to provide commercial-free content while sending second screen advertisements to a highly targeted audience. The company still operates with Zeidman as president.

Also in 2013 Zeidman wrote and published his seventh engineering text book, “Just Enough Electronics to Impress Your Friends and Colleagues.”

In 2015 Zeidman created and awarded the first annual Zeidman Award, a program established to recognize middle school students in the fields of electrical engineering or computer science who demonstrate an advanced knowledge of electronics or computer programming to solve challenges in a unique and efficient manner.

Awards
Zeidman has received the following awards:
 * 1994 Wyle/EE Times American by Design Award
 * 2003 Jolt Reader's Choice Award
 * 2010 Outstanding Engineer Award from the IEEE Santa Clara Valley Section
 * 2015 Outstanding Engineer Award from the IEEE Santa Clara Valley Section and from the Region 6 Central Area for his pioneering contributions to the field of software forensics.
 * Zeidman has also won awards for writing and for the production and direction of short films.

Books
Zeidman is the author of five engineering books:
 * “Introduction to Verilog” (1999)
 * “Verilog Designer's Library” (2000)
 * “Designing with FPGAs and CPLDs” (2002)
 * “The Software IP Detective's Handbook” (2011)
 * “Just Enough Electronics to Impress Your Friends and Colleagues” (2013)

Zeidman is the co-author of two engineering books:
 * “Circuit Design: Know it All (Newnes Know it All)” (2008)
 * “FPGAs: World Class Designs” (2009)

Zeidman is also the author of three novels:
 * “The Amazing Adventure of Edward and Dr. Sprechtmachen” (1991)
 * “Horror Flick” (1992)
 * “Good Intentions” (2012)

Selected articles

 * "Software Forensics: Objectively Proving Infringement or Misappropriation” IPWatchdog, October 27, 2014.
 * “Software Forensics: Qualifying Tools and Experts Who Use Them” IPWatchdog, October 31, 2014.
 * “Misunderstanding Plagues the Patent System” Electronic Design, July 23, 2014.
 * “Sloppy, Misleading Yale Paper Challenges University Patenting” IPWatchdog, July 15, 2014.
 * “ASOS: A new software development paradigm for the Internet of Things – Part 1: Basic building blocks” Embedded.com, June 30, 2014.
 * "ASOS: A new RTOS paradigm for the Internet of Things – Part 2: Building a project file"Embedded.com, June 29, 2014.
 * “A Code Correlation Comparison of the DOS and CP/M Operating Systems” Journal of Software Engineering and Applications, May 27, 2014.
 * “The bogeymen destroying the patent system” San Jose Mercury News, April 17, 2014.
 * “Fortune Magazine’s Unusual Position on Non-Practicing Entities” IPWatchdog, April 10, 2014.
 * “Did Bill Gates Steal the Heart of DOS?” IEEE Spectrum, July 31, 2012.

Patents
Zeidman is a named inventor on following patents and patent applications:
 * Zeidman, Robert M., "Visual tool for developing real time task management code," U.S. Patent 6,934,947.
 * Zeidman, Robert M., "Method for connecting a hardware emulator to a network," U.S. Patent 7,050,962.
 * Zeidman, Robert M., Hafeman, Daniel R., Barr, Michael, “Method and apparatus for synthesizing a hardware system from a software description,” U.S. Patent 7,210,116.
 * Zeidman, Robert Marc, "Apparatus and method for connecting hardware to a circuit simulation," U.S. Patent 7,266,490, RE 42,227.
 * Zeidman, Robert M., "Software tool for detecting plagiarism in computer source code," U.S. Patent 7,503,035.
 * Zeidman, Robert M., Hafeman, Daniel R., Barr, Michael, “Method and apparatus for synthesizing a hardware system from a software description,” U.S. Patent 7,620,928.
 * Zeidman, Robert M., Hafeman, Daniel R., “Method and apparatus for emulating a hardware/software system using a computer,” U.S. Patent 7,647,583.
 * Zeidman, Robert Marc, “Detecting plagiarism in computer source code,” U.S. Patent 7,823,127.
 * Zeidman, Robert Marc, "Apparatus and method for connecting hardware to a circuit simulation," U.S. Patent 7,835,897.
 * Zeidman, Robert M., "Software tool for synthesizing a real-time operating system," U.S. Patent 7,882,488.
 * Zeidman, Robert M. and Snider, Gregory, “Using readily available driver and application source code with a synthesized operating system,” U.S. Patent 7,900,187.
 * Zeidman, Robert M., Hafeman, Daniel R., Barr, Michael, “Method and apparatus for synthesizing a hardware system from a software description,” U.S. Patent 7,945,879.
 * Zeidman, Robert M., "System and method for connecting a logic circuit simulation to a network," U.S. Patent 8,160,863.
 * Zeidman, Robert M. “Use of hardware peripheral devices with software simulations,” U.S. Patent 8,195,442.
 * Zeidman, Robert, “Detecting copied computer source code by examining computer object code,” U.S. Patent 8,255,885.
 * Zeidman, Robert M., “Software tool for detecting plagiarism in computer source code,” U.S. Patent 8,261,237.
 * Zeidman, Robert M., "Method for advertisers to sponsor broadcasts without commercials," U.S. Patent 8,316,390.
 * Zeidman, Robert M., “Conveying Data From A Hardware Device To A Circuit Simulation,” U.S. Patent 8,380,481.
 * Zeidman, Robert Marc, “Software for filtering the results of a software source code comparison,” U.S. Patent 8,495,586.
 * Zeidman, Robert Marc, “Detecting plagiarism in computer source code,” U.S. Patent 9,003,366.
 * Zeidman, Robert Marc, and Hoehn, Timothy Douglas, “Searching the Internet for common elements in a document in order to detect plagiarism,” U.S. Patent 9,043,375.
 * Mylroie, Steve and Zeidman, Robert Marc, “Detecting plagiarism in computer markup language files,” US Patent 9,053,296.
 * Zeidman, Robert M., "Method for advertisers to sponsor broadcasts without commercials," USPTO application number 13/632,574 (pending).
 * Zeidman, Robert M., "Conveying Data From A Hardware Device To A Circuit Simulation," USPTO application number 13/766,960 (pending).
 * Zeidman, Robert, "A Portable Compartment For Storing An Umbrella," USPTO application number 14/253,873 (pending).
 * Zeidman, Robert, "Secure Offline Playing Of Media Files," USPTO application number 14/634,728 (pending).

Speaking engagements
Zeidman has delivered seminars and courses on the following topics:
 * Analysis of Software Copyright Infringement Cases
 * ASIC Design
 * CPLD Design
 * Detecting Software IP Theft
 * Electrical Engineering for non-EEs
 * Finding and Utilizing Technical Consultants for IP Litigation
 * FPGA Design
 * FPGAs vs. ASICs for Networking
 * The History of Digital Hardware Design
 * How to Start a Consulting Business
 * Investigating Technology Theft
 * Measuring Software Changes with the CLOC Method
 * Memory Architectures
 * Patents
 * Programmable Systems on a Chip (SOCs)
 * Real-Time Operating Systems for SOCs
 * Software Intellectual Property
 * Software Synthesis
 * Starting a Consulting Business
 * Technical Consultants for IP Litigation
 * Testing Memory
 * Universal Design Methodology
 * Verilog and HDLs

Zeidman has delivered seminars and courses at the following places:
 * Cogswell College
 * Cornell Entrepreneur Network
 * DesignCon
 * Eastcon
 * Embedded Systems Conference Boston
 * Embedded Systems Conference Chicago
 * Embedded Systems Conference Europe
 * Embedded Systems Conference India
 * Embedded Systems Conference Silicon Valley
 * Gigabit Ethernet Conference
 * High-Level Electronic System Design Conference
 * High Technology Crime Investigation Association
 * Institute of Electrical and Electronics Engineers
 * Microsoft Store, Stanford Shopping Center
 * NALSAR University of Law
 * Network Processors Conference West
 * Northcon
 * Palo Alto Area Bar Association
 * PCB Design East
 * PCB Design West
 * San Jose State University
 * San Francisco State University
 * Semizone.com
 * Southcon
 * Stanford University
 * Westcon
 * World Intellectual Property Technical Forum