We discuss a range of miscodes found in probabilistic genotyping (PG) software and from other industries that have been reported in the literature and have been used to inform PG admissibility hearings. Every instance of the discovery of a miscode in PG software with which we have been associated has occurred either because of testing, use, or repeat calculation of results either by us or other users. In all cases found during testing or use something has drawn attention to an anomalous result. Intelligent investigation has led to the examination of a small section of the code and detection of the miscode. Previously, three instances from other industries quoted by the Electronic Frontier Foundation Amicus brief as part of a PG admissibility hearing (atmospheric ozone, NIMIS, and VW) and two previous examples raised in relation to PG admissibility (Kerberos and Therac-25) were presented as examples of miscodes and how an extensive code review could have resolved these situations. However, we discuss how these miscodes might not have been discovered through code review alone. These miscodes could only have been detected through use of the software or through testing. Once the symptoms of the miscode(s) have been detected, a code review serves as a beneficial approach to try and diagnose to the issue.
翻译:我们讨论了在概率基因组学(PG)软件和其他行业中发现的一系列错误代码,这些错误代码在文献中已经报告,并被用于通报PG可受理听证会。我们与之有关联的PG软件中发现错误代码的每个实例,要么是因为测试、使用,要么是因为我们或其他用户重复计算结果。在测试或使用过程中发现的所有案例都引起了对异常结果的注意。聪明的调查导致对代码的一小部分进行检查并发现错误代码。以前,电子边境基金会Amicus简报引用的其他行业的三例错误代码,作为PG可受理听证会的一部分(大气臭氧、NIMIS和VW),以及先前提到的与PG可受理(Kerberos和Therac-25)有关的两个实例,都作为错误代码的例子,以及大量代码审查如何解决这些情况。然而,我们讨论了这些错误代码不可能仅仅通过代码审查才被发现。这些错误代码只能通过使用软件或测试代码来检测。一旦检测,这些错误代码的症状就会被检测出来。