The discovery phase of IP litigation often calls for a technical review of a software product. A code review is an activity conducted by an expert witness that involves reviewing the source code of a product to discover pertinent facts relevant to the case. The specific facts depend on the purpose of the review. In patent cases, the search may involve looking for specific functionality buried within a mire of source code. For copyright cases, it may involve searching for evidence of literal or non-literal copying.
Attorneys sometimes assume that any expert with competence in a particular programming language would be qualified to perform a code review. This is not necessarily true. Building software applications and performing forensic analysis of software applications are different activities, and indeed, are almost exact opposites. Developing new software involves writing source code based on ideas and understandings that already exist in the mind of the developer. Forensic analysis, on the other hand, requires the person to begin with zero knowledge and collect facts through investigation in order to gain an understanding of the product's behavior. Ordinary software developers may not have an awareness of the consequences of making false assumptions during what is supposed to be an objective code review analysis.
Code review often involves searching through a code repository of potentially millions of lines of code in search of something that may only be a few lines long. Identifying such a "needle in a haystack" efficiently is a skill that can only be developed with time and experience. Source code produced in litigation is often not commented, unintuitive, and not necessarily complete. These are barriers to completing the code review quickly. Code review efficiency can have a dramatic impact on litigation cost. What might take a skilled code review expert a few days may take someone else weeks.
Another aspect of code review involves dealing with the unknown. Sometimes it is possible to identify the exact technologies used by a product before the code review begins, but more often it isn't. Even if an application's programming language is known prior to the code review, there could be several ancillary technologies at play which might dramatically impact the overall product behavior or the expert's insight as to how the product was developed. In order to gain a better understanding of an application's development history or functionality, the expert may also need to understand how to work with certain source code repositories, build scripts, utilities, macros, operating systems, and other language-independent technologies. For this reason, it is not enough that the expert have skill only in a particular programming language. Rather, a vast breadth of knowledge in software engineering and computer science is required.
Another factor of code review specific to litigation is the set of circumstances under which the code review is conducted. Court schedules often dictate that the review take place within stringent time lines. Finishing the job within the timeline could mean the difference between winning or losing the case. Additionally, the review may necessarily take place in ``hostile'' environments such as at the opposing law firm, often with nothing more than primitive tools available to the expert. Having an expert with experience working under real-world pressures and litigation circumstances is essential.
Source code review for litigation is not a skill taught by universities, nor needed or used by most companies in private industry. For this reason, experts who have specialized knowledge and experience in forensic code review are difficult to find. Prolifogy offers Ph.D. experts with extensive forensic code review experience, as well as experience with writing expert reports and offering testimony. We also provide code review services for non-litigation projects. Prolifogy is not a third-party referral service. We are a consulting firm with staff experts and offices throughout the country. To engage Prolifogy for your matter, call us at (855)-PROLIFOGY or contact us through our web site.