Patent litigation – on both the plaintiff’s and defense sides – often requires detailed examination of source code. Determining whether a product infringes a patent is increasingly a question of software. Why is this, and what should a litigator look for in a source code review expert witness?

A prescient article

In 2011, Marc Andreessen, the main author of the original Mosaic web browser and a renowned venture capitalist, penned an article for the Wall Street Journal entitled Why Software is Eating the World. Back then it was viewed as Silicon Valley hyperbole. Today, as many have noted, his article appears far-sighted and its predictions inevitable. Software is eating the world even faster.

Simply put, most of the differentiation in high-technology products today is produced by software. A competitive advantage solely due to hardware design is becoming less sustainable. This means that for attorneys in many patent cases, software is increasingly central.

Figure 1: The Tesla Model 3 is predominantly a software product – an artificial intelligence system on wheels. While it has a battery, motors and a chassis, much of its appeal derives from its software.

How can a software expert assist retaining counsel and the finder of fact in medical device matters? Sometimes litigation turns on the process of software development. For example, in regulated industries such as medical devices, numerous standards must be followed for a software developer to meet the standard of care.

What makes for efficient source code review?

Often in patent infringement and trade secret cases, discovery demands an efficient review of a vast quantity of source code. Famous cases such as Cadence v. Avanti (1) were decided based on source code review. What are the characteristics of an effective software code review expert witness?

Understanding of the physics of the device

Familiarity with the technology underpinning a medical device’s design helps greatly with evaluating its software. Since source code review can be an extreme form of finding needles in a haystack, knowledge of the underlying mathematics or signal processing will limit the code which needs to be focused on.

For example, large sections of the codebase of a medical device which works with a hospital’s network will be devoted to communications. Other sections will cover data archiving and retrieval, and encryption. These are standard functions rarely at issue in patent cases, so typically no time needs to be spent on reviewing these code sections.

Language experience can be over-emphasized

Fluency in the language the code is written in is helpful. However, breadth of experience in developing complex software systems allows an expert to quickly grasp what is going on, even if they have not written code in the language of the specific device.

As a practical matter, medical devices mostly rely on a few computer languages. Wearable devices such as physiological monitors may only be able to run code in the C language. This is an old language suitable for programming small systems. Larger systems tend to use C++, a later language variant which incorporates modern programming concepts.

Medical devices are often required to respond rapidly to stimuli. For example, an imaging system may need to keep up with the motion of heart valves. C and C++ run fast and may be the only languages which can provide the performance demanded by the clinician.

Figure 2: An example of a fast-moving structure in the heart – the anterior mitral valve leaflet. Creating high resolution medical images of fast-moving structures requires efficient software. Such code is often written in C and C++.

Litigation is unlike software development (though the same tools are used)

When the code is delivered by the opposing party, an integrated development environment (IDE) such as Eclipse will be provided on the computer to be used for the review. An IDE is a piece of software incorporating many tools which help a software developer to be productive. Here is what it looks like:

Figure 3: Anatomy of an Integrated Development Environment (IDE). In the left panel, the names of some files in the codebase are listed. The middle pane is an editor where code is revised. The right-most pane takes the project apart to illustrate how the pieces of code fit together. The pane at the bottom shows where bugs in the code were found by the tool.

What may not be clear to those without experience in litigation source code review as an expert witness is that while the IDE will look like figure 3, it will not work as it does in software development. Due to the adversarial environment, the code may not have even been correctly imported into the IDE. Nearly all features which normally allow for quick comprehension of code will not function.

With the source code in front of the expert witness, its detailed operation is apparent in extreme detail. The art of source code review is to rapidly grasp the larger picture where infringement (or its lack) can be established.


With the acceleration of Andreessen’s “software eating the world” maxim, IP litigation with a large software component will become more common. This is true both with patent and trade secret matters.

The software expert witness’s task in reviewing software is complex. Managing an initially overwhelming discovery process requires more than a grasp of the technical issues. If the job is done well, should the case go to trial, a skilled expert will be well prepared to educate, evaluate and explain the significance of the software findings to the finder of fact.

About the author

Dr. Chris Daft is an award winning, Oxford Educated scientist. He is an expert witness and consultant whose areas of expertise include machine learning, integrated circuits, MEMS, medical device software and medical imaging. Dr. Daft has extensive Intellectual Property experience including patent development, analysis, licensing, strategy, and serving as an expert witness who has given testimony at deposition and trial.  He is a serial inventor who holds 22 U.S. Patents with more pending.  Dr. Daft holds a BA and MA in Physics from Oxford, and a Doctorate from Oxford in Materials Science.  The author may be contacted at:
+1 (415) 800-3734 office  +1 (408) 806 7525 cell
River Sonic Solutions LLC 2443 Fillmore St #380-4039, San Francisco, CA 94115


  1. Cadence Design Systems, Inc. v. Avanti Corp., 29 Cal. 4th 215, 57 P.3d 647, 127 Cal. Rptr. 2d 169 (2002).