back to article Accused murderer wins right to check source code of DNA testing kit used by police

A New Jersey appeals court has ruled that a man accused of murder is entitled to review proprietary genetic testing software to challenge evidence presented against him. Attorneys defending Corey Pickett, on trial for a fatal Jersey City shooting that occurred in 2017, have been trying to examine the source code of a software …

  1. Anonymous Coward
    Anonymous Coward

    Go for it

    Whilst I hate the thought of someone "getting off" when they're guilty, I think it's worse to risk convicting someone who is innocent.

    Given that MATLAB generates C/C++ it should be quite easy to run a decent static analysis tool over the code as a first step to see if there is any undefined-behaviour.

    Whilst that is running, I would be asking to see the testing (including coverage data) and code review results that Cybergenetics must have - they must have this, or else there is no way they can claim their code can be trusted.

    Any system that is used to help convict people should be developed to the same standard as "life critical" systems (e.g. medical, avionics, automotive) - especially if it is being used in a region that has the death penalty.

    1. rcxb Silver badge

      Re: Go for it

      Any system that is used to help convict people should be developed to the same standard as "life critical" systems (e.g. medical, avionics, automotive) - especially if it is being used in a region that has the death penalty.

      You mean every cheap surveillance camera now has to have its code and firmware tested like Avionics software now? Bugger

      1. Anonymous Coward
        Anonymous Coward

        "You mean every cheap surveillance camera..."

        If its timestamp is used to prove someone was / was not in a given place at a given time / date, then yes, there should be proof that the system (as a whole) is working correctly.

        1. sreynolds

          Re: "You mean every cheap surveillance camera..."

          About time the expert witnessess were made to show how the arrived at their decision.

          1. IGotOut Silver badge

            Re: "You mean every cheap surveillance camera..."

            Look into the history of "Expert Witness" and you realise what a fucked up system it is.

            It's down to the judge to decide what is admirable as a expert testimony and its based on how "accepted" it is in a given field.

            So for example, astrology is acceptable if the judge thinks it is, if you pick an astrologer who is well "respected" in that "profession".

          2. Cynic_999

            Re: "You mean every cheap surveillance camera..."

            "

            About time the expert witnessess were made to show how the arrived at their decision.

            "

            That is exactly what barristers are paid to do. Cross examine all witnesses, including expert witnesses, so that the court knows exactly how and why they arrived at the conclusions they did. Barristers, if they are doing their job correctly, should also have done some research so as to be able to present contrary views amongst the scientific community regarding the reliability of tests or methods likely to have been used by the expert witness.

            Of course, how well the barister does their job is likely to depend on how much money the defendent is able to pay them. Legal aid won't come close to paying for even a half-hearted defense, but for a straightforward case a reasonable defence should not cost much more than an average 4 bedroom house in England.

            1. Andy The Hat Silver badge

              Re: "You mean every cheap surveillance camera..."

              Would that be a North African Assylum seeker's house in England or an Eastern European oligarc's house in England?

              1. EiGHtBiTZ

                Re: "You mean every cheap surveillance camera..."

                Oh yeah. An African assylum seeker's house, maybe -- but not a European Oligarc's house, that's my point.

            2. Yet Another Anonymous coward Silver badge

              Re: "You mean every cheap surveillance camera..."

              Famous Italian structural engineer author (forgot name)

              Writing about appearing as an expert witness in a building collapse case in New York.

              The lawyers spent all the time objecting to him being called professor because he was only a visiting professor in the USA and only a full professor in somewhere called Rome, and what did they know about buildings, and nothing asking him about the actual cause of the collapse.

      2. Cynic_999

        Re: Go for it

        "

        You mean every cheap surveillance camera now has to have its code and firmware tested like Avionics software now?

        "

        Any part that is relevant to the reliability of evidence given in a criminal trial, yes. How would you feel if you were convicted based on CCTV evidence that you were at a certain place at a certain time when you are quite certain that you were 100's of miles away at that time?

        Would you not like the court to be shown evidence that the time and datestamp that the CCTV system placed on the image it produced could easily be completely wrong? Or should the jury simply trust the manufacturer who stated that the software ensures that the date and time is always correct, but is proprietary code so it cannot be independently checked?

        1. Yet Another Anonymous coward Silver badge

          Re: Go for it

          Because you aren't going to get convicted from just the timestamp on a home CCTV.

          But $Rich_Bastard$ is going to get off a drink driving charge because the police can't produce the wafer masks for the ARM core in the breathalyser

          1. Falmari Silver badge

            Re: Go for it

            Like those cases where when challenge the police were not able to produce the certificates to show the machine had been tested for accuracy and passed within a certain date of the breathalyser test.

    2. Someone Else Silver badge

      Re: Go for it

      From the article:

      The co-founder of the company, Mark Perlin, is said to have argued against source code analysis by claiming that the program, consisting of 170,000 lines of MATLAB code, is so dense it would take eight and a half years to review at a rate of ten lines an hour.

      From AC's post:

      Whilst that is running, I would be asking to see the testing (including coverage data) and code review results that Cybergenetics must have - they must have this, or else there is no way they can claim their code can be trusted.

      If a proper code review would take 8.5 Person-years to complete, it's likely that Cybergenetics didn't do it. (Answer this: when was the last time you or one of your colleagues spent a day doing code reviews? Or asked another way, how many calendar days has it been since you or a colleague, amassed 8 hours of code review work?) It would be enlightening, indeed, to get the results that AC wants...what are the chances that the code review logs show 8.5 person-years of work?

      From Someone Else:

      You can write FORTRAN in any language.

      170,000 lines of MATLAB?!? One can only imagine the amount and different varieties of pasta in that pile of "code". And they wanna claim it's bug free? Hey, buddy! I got this 'ere bridge....

      (Oh and a small note about this Mark Perlin fellow: Seems that most of the published work validating TrueAllele's accuracy was conducted and published by -- wait for it -- Mark Perlin. So, "the program works because we (the program's vendors) say so!" Where have I heard that before...?)

  2. Duncan Macdonald

    Too big to be bug free

    If the size of the source code is anything like the quoted 170,000 lines then it is certain to have errors. The industry average rate of coding errors is over 10 errors per thousand lines. A really good coding team with good testing and good code reviews may reduce this to 1 error per thousand lines - however this would still imply around 170 errors.

    1. Hubert Cumberdale Silver badge

      Re: Too big to be bug free

      Also, MATLAB: WTF? It's a great tool for many things, such as matrixy/mathsy stuff including image processing, but I always treat it as a sketchpad/ad-hoc problem solver/rapid prototype generator. It's not at all geared towards this sort of thing. I once knocked up some Monte Carlo simulations using it, and they worked just great. I then spent several weeks converting them into C, finding numerous bugs in the process. For my trouble, I also got a 70-fold [sic] speed increase.

      And 170,000 lines of critical code (i.e., in the US at least, potentially life and death deciding)? That's like making a railway bridge out of Meccano. Sure, it looks like a bridge and quacks like a bridge, but it relies heavily on all those tiny bolts being in the right place and none of them being loose. Has MATLAB become the Excel of scientific companies now?

      In summary, I don't blame the guy for seeking a code review, however impractical it may be.

      1. ibmalone

        Re: Too big to be bug free

        I then spent several weeks converting them into C, finding numerous bugs in the process. For my trouble, I also got a 70-fold [sic] speed increase.

        Neither of those are particularly arguments that Matlab isn't suitable for the application. It may well be sufficiently fast for what they're doing, and you would presumably have identified those bugs from code review or reimplementation between any pair of languages.

        1. Hubert Cumberdale Silver badge

          Re: Too big to be bug free

          It's still the wrong tool for the job. And yes, to use a massively confusing mixed metaphor, I would have established exactly why a hammer wasn't quite right for the job while filing it down to make a screwdriver with any kind of file. In summary, to misquote Inigo Montoya: They keep using that MATLAB, I do not think it is for what they think it is for.

          1. ibmalone

            Re: Too big to be bug free

            Why is it the wrong tool for the job? What actually is the job in question? Are C programs bug free? Are they easier to verify?

            I don't terribly like using Matlab if I'm honest. Quite a lot of its design makes otherwise trivial tasks pretty difficult if you want to turn something into an application. It's a pain to interface with. It wants to do its own thing when working with clusters. But it also sits on top of a heck of a lot of professionally designed routines for heavy maths.

            1. ibmalone
              Thumb Up

              Re: Too big to be bug free

              The thumbs down without answers to reasonable questions about blanket statements are always a sure-fire sign of a cogent argument.

              1. Hubert Cumberdale Silver badge

                Re: Too big to be bug free

                Wow. That's quite a blanket statement you just made there. Not my downvotes, by the way – you do make some good points, several of which about Matlab being a pain in the arse seem to agree with me. I agree that it does make it possible to do some very complicated mathsy things in a very high-level way, and some of their routines for that are very good. But there are also many excellent (and often open source) libraries for many of those things too.

                People on here often whinge about the need for high tens of megabytes of runtime for a "hello world" program in, for example, C#, but to me it seems perfectly reasonable for what you get. I see it as problematic, however, to need a nearly 3GB runtime distribution before you've even started writing any of the actual code. To create a critical application that hands over control of such a vast amount of its fundamental workings to a massive black box is not something I would like to do.

                The bigger the pile of mud you build your house on, the more likely there is to be something buried in that mud that you don't want to come across. I'm not saying they should "roll their own" everything, it would just seem prudent to carefully select what they're building on, rather than saying, "here's a huge thing that does absolutely everything, let's use that". It smacks of a lack of precision, and precision is exactly what I'd want if it were my life on the line.

                1. ibmalone

                  Re: Too big to be bug free

                  That of course gets us into the very grey area of how much you should write yourself and how much you should depend on others to do better than you can, and there are definitely places to draw the line and times to move it. Reimplementing things though can also introduce new issues, so in the context of what may be a validated and tested piece of software, moving it to new and new language and libraries that claim to do the same thing as the old ones doesn't necessarily gain anything.

                  My last comment was really directed against whoever downvoted simply asking for clarification on this, so if that's not you then don't take it personally. I'm always happy to learn, but I do remain a bit sceptical; I've not seen anyone discuss what the software in question actually does. Without knowing that then it is surely a bit difficult to say whether they've chosen an appropriate framework? Yes, that's a lot of lines of code, it will probably be even more once put into C (almost certainly it will still be relying on someone else's libraries). But we might be talking about something that has more than one function. Unless the suggestion is that Matlab is just generally inadvisable for everything, but that seems unlikely.

                  (As an aside, I'd thought of mentioning boilerplate in interfacing different scientific libraries in C, but in checking a few things stumbled on the far more interesting snippet that Matlab licenses FFTW for its FFT implementation. It's a small world after all.)

      2. Anonymous Coward
        Anonymous Coward

        Re: Too big to be bug free

        I've got some bad news for you...

        Matlab / Simulink are used to generate code for control systems used in aerospace, medical and other critical system.

        1. Anonymous Coward
          Anonymous Coward

          Thumbs down for...

          1) The above not being true (it is)?

          2) The fact that it is used in those sectors?

    2. JetSetJim

      Re: Too big to be bug free

      And no doubt the defense team would be remiss at then not finding an expert of some form to testify that the presence of at least one of the bugs found, however trivial they might really be, should introduce reasonable doubt as to base a conviction on it - perhaps get the expert to throw enough jargon into their testimony to confuse jurors.

      Perhaps what might also be needed is sufficient quantity of traceable evidence that the device in question can produce an accurate result.

      1. Electronics'R'Us
        Holmes

        Re: Too big to be bug free

        Many AI / ML algorithms are learned on the fly and the algorithm being used cannot be confirmed or even well known.

        This is a well known problem in AI.

        So if this is such a piece of software (MATLAB is great for doing whizzy mathematical things) then defending it will become very difficult indeed given the stakes involved.

        Having been an expert witness, I remember when one lawyer told me that a jury will believe the expert witness who is the most credible in their eyes as they will almost certainly not understand the testimony, but that is a separate issue.

      2. Yet Another Anonymous coward Silver badge

        Re: Too big to be bug free

        That's the problem with the jury process.

        They will find bugs. The software doesn't handle DOS attacks or it doesn't escape Sql statements embedded in a person's name.

        This will be presented as 100s of 'errors' so they must acquit

        1. Hubert Cumberdale Silver badge

          Re: Too big to be bug free

          (obligatory)

          1. Someone Else Silver badge
            Coffee/keyboard

            @Hubert Cumberdale -- Re: Too big to be bug free

            Dude! - - - - ->

  3. The Man Who Fell To Earth Silver badge
    WTF?

    Isn't there an open source genetic analysis tool?

    Holy crap! You'd have thought just based on the academic interests of biological & medical researchers that there would be a well vetted open source DNA analysis program widely in use for DNA comparison. Does this mean there isn't?

    1. claimed Bronze badge

      Re: Isn't there an open source genetic analysis tool?

      Probably, but I expect it includes output that's irritating to the prosecution, like 'uncertainty'

    2. T. F. M. Reader

      Re: Isn't there an open source genetic analysis tool?

      The FST one was developed by a public (NYC) crime lab - OK, its "consultants", but the product belonged to the crime lab anyway - and they still didn't want to let anyone look at the code. I guess they earned a buck or two every tiime other crime labs asked for help.

  4. Rol

    Repeatable experiment

    Just send the DNA sample to multiple labs, each with different machines, and see if the same result comes back.

    Reasonably quick. Most probably a fraction of the cost the code audit. And maintains the integrity of the source code.

    1. Anonymous Coward
      Anonymous Coward

      Re: Repeatable experiment

      I'm betting the state has no interest in verifying the result as if they differ the defence will claim it's a problem and the defence likewise has no interest in independent verification.

    2. FILE_ID.DIZ

      Re: Repeatable experiment

      DNA tests aren't deterministic, but probabilistic. If I recall my CSI TV knowledge (not that crap from NY or Miami, but Vegas), DNA "matches" are one out of a billion. That's nearly eight people in the world that that test could come back as a match for.

      Furthermore, if my TV memory is correct, testing is destructive. Given this sample came from a gun, perhaps there wasn't enough for a proper second test. Given the route the public defender has taken, perhaps challenging the program is the simpler route.

      I do think the crux of the matter is that New Jersey is one of the few states that still adheres to the Frye standard, "that expert testimony must be based on scientific methods that are sufficiently established and accepted." How is a piece of software which hasn't sustained an open and proper adversarial challenge, "expert testimony"?

      As a corollary (and more in my wheel house), a good encryption method isn't weakened through the "sunlight is the best disinfectant" process, but strengthen.

      Crappy and/or closed encryption (often) is.

      1. Graham Dawson Silver badge

        Re: Repeatable experiment

        Rather less than one in a billion. DNA tests only look at particular genetic markers, and only at those that can actually be extracted from the sample. Costs rise as you test for more of them. If you get enough, the odds of a random match grow more remote, but in most cases you're looking at anything from one in five million to one in hundreds of thousands.

        The one in a billion is an ideal conditions number that prosecutors use to bamboozle the technically illiterate.

        1. JetSetJim

          Re: Repeatable experiment

          Given that some crimes, err, "keep it in the family", do the odds change depending on number of blood-relatives that are in the suspect pool?

        2. Dave 126 Silver badge

          Re: Repeatable experiment

          > The one in a billion is an ideal conditions number that prosecutors use to bamboozle the technically illiterate.

          Given the world's population of 7 billion plus change, if I'm accused based solely on 'one in a billion chance of it not being my DNA on the dagger', I'd say that actually means there's a 6/7ths chance it was somebody else.

          1. Jimmy2Cows Silver badge

            Re: Repeatable experiment

            True, However, the chances of any one of those 6 being in the same place at the same time is vanishingly small. Not sure I'd rely on that as my defence.

            Seems better to try to show the court that 1 in a billion is not true, and actually the match accuracy is much, much lower. 1 in a million, or 1 in a hundred thousand, brings it down to several possible people in a large city or town, which seems a much more reasonable basis for saying someone else did it.

        3. T. F. M. Reader

          Re: Repeatable experiment

          One in a billion is actually something else. Those who are interested can look up this book (The Evaluation of Forensic DNA Evidence - the link is a readable overview), or maybe just the Some Statistical Considerations section on the linked page.

          The "DNA is unique and a match is incontrovertible proof of guilt" is the so-called "prosecutor's fallacy" - it's the correct answer to a wrong question (If you are guilty what is the probability of a DNA match? != If DNA matches what is the probability you are guilty?). DNA is never the only evidence - it may be supporting evidence (related to the so-called "defendant's fallacy").

          In this case the actual question is even shakier - there is a mix of several DNA profiles and the question is about probability of the suspect's DNA being a part of the mix. It is also mentioned in the above overview, between the prosecutor's and defendant's fallacies, as chance would have it.

          The rest is left as an exercise for the reader.

        4. Cynic_999

          Re: Repeatable experiment

          I recall reading that when the national DNA database was checked for matches within that same database, quite a few matches were found. Several such matches could not have been due to the DNA coming from the same person, because of obvious differences in the people concerned (e.g. one was a 20 year old and the other in their 60's).

          There have been a few cases where a suspect could prove conclusively that they could not possibly have been anywhere near the place the DNA evidence was found, yet it was a match for their DNA.

          1. Cederic Silver badge

            Re: Repeatable experiment

            Yeah, if I'm ever on a jury and DNA evidence is a core prop of the prosecution then I'll be upsetting a lot of the other jurors.

            1. Mike 16

              Re: upsetting a lot of the other jurors.

              IANAL, but IIRC, a juror is prohibited from using their own knowledge in deliberation. At least in California, probably much more widely. So, for example, if a Nobel-prizewinning Genetics/DNA analysis researcher were to be impaneled, they must _NOT_ make any comments in deliberation that relate to their own knowledge.

              Of course, this unlikely situation would only arise if neither defense nor prosecution challenged them for cause. But then the trial would also be complicated by traffic being paralyzed by snow drifting in from Hades.

              More likely it would be something like a reprimand for mentioning (e.g. based on being out in sunlight nearby at the time of the crime) that the sun was quite high in the sky at the time a witness said it was too dark to see clearly

              1. claimed Bronze badge

                Re: upsetting a lot of the other jurors.

                "they must _NOT_ make any comments in deliberation that relate to their own knowledge"

                What the fuck?

                Even in America that's unconscionable, right?

                How is someone your peer if they have not had a life?

                How can you judge anything with no knowledge?

                1. JetSetJim

                  Re: upsetting a lot of the other jurors.

                  You are supposed to make your judgement of guilt based on the evidence presented - if that includes DNA evidence then the prosecution should provide expert testimony, and the defense can rebutt with their own expert. If a juror introduced other facts, however correct, into deliberations, then that introduces bias as there is no-one able to challenge it. For example you might even lie about your expertise... Nobel or no Nobel

                  1. Cederic Silver badge

                    Re: upsetting a lot of the other jurors.

                    When people in the jury room will be sat going, "She's an adulterer so God tells me I have to convict" I'm very comfortable using my own reasonable beliefs to guide my judgement.

                    "That evidence is flawed because.." is different to, "I can not in conscience convict based on that evidence, because I believe the prosecution and their witness misstated its importance."

                    1. JetSetJim

                      Re: upsetting a lot of the other jurors.

                      > When people in the jury room will be sat going, "She's an adulterer so God tells me I have to convict"

                      That sort of person *should* have been weeded out in jury selection as they cannot set aside pre-conceived ideas of guilt:

                      > With regards to challenges to the polls, a juror can be challenged on the grounds of bias, which would cause him to be unsuitable to try the case. For example, where he has expressed hostility to one side or connected to one side in some way.

                      https://www.cps.gov.uk/legal-guidance/jury-vetting

                  2. Mike 16

                    Re: upsetting a lot of the other jurors.

                    @JetSetJim -- Thank you. When I saw the reply I dithered about answering, because as always there are at least two sides, and a bit of "Chesterton's Fence" involved.

                    Again: IANAL!

                    Not only is any _one_ trial supposed to depend strictly on the evidence, any appeal will depend on the record of that evidence, so "replicating the results" can be problematic. _way_ deeper in the law than I will ever get, but I believe there are ways to deal with juror misconduct.

                    That said, one big source of inability to replicate conditions is the scene from _so_ many courtroom dramas, where one lawyer will make some outrageous "statement disguised as a question", the opposing one will object, and the judge will sustain and say something along the lines of striking from the record, and instructing the jury to disregard. Yeah, right.

                    That bell can't really be un-rung, and if there is a retrial, one could _hope_ that the particular incident would not be repeated. But I have no idea whether such entries are completely stricken, so to speak. If the same lawyers appear before a different judge, who is unaware of the previous stunt, the record in the minds of the jurors may be similarly affected as in to the original. But appearing before the same judge, or one with access to an unredacted record, might take an alternate path.

                    All this to say the law is complex because it tries to be able to account for and deal with a huge variety of behavior and information by prescribing rules ahead of time about what to do.

                    This is a mug's game similar to programming. As with programming, a lot depends on skill, good-will, and judgement.

                    BTW: I know of at least two cases where an expert witness lied, so it's not just jurors who might. These case were in civil cases among tech companies, and were settled and sealed (can't take the chance of establishing a precedent that could bite you later, or outraging the customers or regulators), and of course _had_ they gotten to the verdict it would be to a lower standard of proof than a criminal case

                    (In the U.S. Third time: IANAL)

              2. T. F. M. Reader

                Re: upsetting a lot of the other jurors.

                IANAL, but IIRC, a juror is prohibited from using their own knowledge in deliberation. At least in California, probably much more widely. So, for example, if a Nobel-prizewinning Genetics/DNA analysis researcher were to be impaneled, they must _NOT_ make any comments in deliberation that relate to their own knowledge.

                IANAL either, but I suspect you may be overinterpreting things a bit. Prosecution and defense present their arguments in court and the jury are supposed to decide which arguments are more persuasive. Even an American lawyer cannot expect the jurors to form opinions while switching their life experiences and knowledge and, indeed, brains off. There is no other basis, and in fact one was originally supposed to be judged "by the jury of one's peers" to make sure that the knowledge and experiences match in determination whether the defendant's behaviour was reasonable or out of line.

                What the jury is supposed to "switch off" is any knowledge or perception of facts that were not presented in the courtroom. One major example is media reports. "But there was this article in NYT that said..." must be disregarded during deliberation.

                It is not clear to me whether a juror can use his or her specialized knowledge or experience in closed doors debate to convince other jurors. E.g., something that may look convincing to a layman may be disputed by a statistician, etc. I hope it is not disallowed - no reasonable debate would be possible. Jury deliberations will not be about facts but about counting votes. (Are jury decisions supposed to be 12-Angry-Men unanimous?)

          2. Norman Nescio Silver badge

            Re: Repeatable experiment

            There have been a few cases where a suspect could prove conclusively that they could not possibly have been anywhere near the place the DNA evidence was found, yet it was a match for their DNA.

            A notorious example of this the identification of the German mass murderer (the "Phantom of Heilbronn") whose DNA turned up at many different crime scenes.

            It was actually the DNA of a worker in the factory that produce crime scene sampling kits.

            The fact that someone's DNA has been found at a crime scene does not mean that they were there.

            There are many ways to transfer DNA from place to place, including swabs, dirty handkerchiefs etc. You also have to have rather good lab techniques to avoid cross-contamination. Demonstrating that the forensic lab has followed those techniques is not always easy.

            There has to be evidence other than DNA linking the person to the scene. Saying that person X's DNA was found somewhere says very little about whether they were there in person.

            1. Cederic Silver badge

              Re: Repeatable experiment

              Note to self: Get a job in a DNA forensic lab prior to committing mass murder.

    3. Persona

      Re: Repeatable experiment

      But you can't be sure that the machines don't all have the same source code in the verification section where it matters. It's not unknown for an employee to leave a firm to take a bunch of source code to their new job. We probably need to check the source code of all the machines.

      1. Anonymous Coward
        Anonymous Coward

        Re: Repeatable experiment

        No, they need to be able to prove that the binary within the device is the same as the one that the build process for the version used claims to support. If you can't reproduce the image, then you're not checking the right thing.

    4. Cynic_999

      Re: Repeatable experiment

      If all the labs are using that same faulty code to analyse the results, the fact that they all agree means very little.

    5. TDog

      Re: Repeatable experiment

      This assumes that you have a sufficiently large sample to do this - or are prepared to "prove" that PCR can be used as part of a verifiable chain of evidence. Of course with contaminated samples it may well end up being the "dog that done it".

  5. henryd

    What about the compiler? Linker?

    Whilst we're at it - had the compiler been bug checked? As one of the developers of the first gcc for Intel X86-32 bit , gosh, nearly 40 years ago I cannot say for certain that my yacc files were perfect.

    1. Anonymous Coward
      Anonymous Coward

      Re: What about the compiler? Linker?

      All the tools used within the development of a critical system should been formally qualified. For a compiler (especially C++), it may only be practicable to qualify parts of it - in which case, a corresponding language subset needs to be enforced within the code base.

    2. Mike 16

      Re: What about the compiler? Linker?

      Do you mean BISON?

      Or is this a form of YACC-shaving I was unaware of? :-)

      (an early adopter of gcc, about 1.22)

  6. Allan George Dyer
    Headmaster

    Wolly thinking

    "overestimate the likelihood of guilt" - While I agree with the Appeal Court's decision, they could do better in describing their reasoning. The test doesn't determine guilt, it matches, or fails to match sample A to person B, the meaning of the match depends on the context.

    Or have we reached beyond thoughtcrime to the point where genetics can be used to identify evil races? Icon: Godwin's Law.

    1. Cynic_999

      Re: Wolly thinking

      In this case the software determines the probability that the defendent's DNA is contained in a mix of the evidential DNA. A jury is likely to believe that if the defendent's DNA is in the evidential sample, the defendent is guilty. Therefore the statement that the software is determining the likelihood of guilt is a reasonable statement to make.

      I could similarly comment that a Gatso camera does not determing whether the defendent is guilty of speeding, it merely measures speed.

  7. Pascal Monett Silver badge

    "the program's source code is a trade secret"

    How can they claim that about DNA testing ?

    It's a scientific process, there's nothing secret about it.

    Also, why not accept NDA's for the people who review the code ? I think that's fair. But there's no need to put a monetary charge on it. You leak, you get caught, you're guilty and risk a sizeable fine anyway. Especially in the USA, where the company could scream bloody murder and ask for many, many millions.

    1. Anonymous Coward
      Anonymous Coward

      Re: "the program's source code is a trade secret"

      Because justice has to be an open process, not secret.

      1. Cederic Silver badge

        Re: "the program's source code is a trade secret"

        I think there's a difference between an NDA that says "You will not disclose the code we share with you" and one that says "You may not discuss your findings in court".

        If discussing the findings in court requires citation of specific code then the judge can authorise that without it breaching an NDA.

    2. Yet Another Anonymous coward Silver badge

      Re: "the program's source code is a trade secret"

      >You leak, you get caught, you're guilty and risk a sizeable fine anyway.

      Screaming Mad Jack, address 'The dumpster in the alley behind the Boeing factory' claims Airbus is using chemtrails to control his mind. He gets to review all their designs and software.

      When he loses the plans he is sued in a civil case and Airbus get a $bn judgement against his shopping cart of junk.

  8. Unoriginal Handle

    It's not just DNA - breathalysers too...

    In the past, Draeger breathalysers / intoximeters have had their accuracy questioned.

    Start at https://www.zdnet.com/article/draeger-breathalyzer-breath-test-convictions/ for an idea of the problem.

  9. arachnoid2

    Weighting

    I think the defence inference may be that the software weights the test one way or the other rather than giving a defined linear "score" thus is unreliable in assessing the result on marginal differences. Much like some of the virus tests being used are susceptible to picking up minute parts of spent virus and give a false positive result.

  10. Cynic_999

    Code example ...

    IF RND() < 0.5 THEN "Guilty" ELSE "Not Guilty"

  11. a_yank_lurker

    Blackstone's Dictum

    An eminent 18th English judge, William Blackstone, noted it is better for the guilty to go free than for the innocent to be convicted. It seems like DA's aka state funded shysters need to learn some ethics and morals. The issue is whether the actual analysis by the code is done correctly and reliably. A claims to trade secret, etc. to me is a smokescreen say the code is garbage. Also, I believe any code used in a court case must be effectively open source for experts to review as needed.

    1. Yet Another Anonymous coward Silver badge

      Re: Blackstone's Dictum

      That doesn't help. It's not the source code as such (although they will point out any bugs to the jury) it's the fitting model and algorithms.

      Expert to 12 random jury members: See here where they use a 3rd order Legendre polynomial to fit the background level to a confidence interval of 0.5% - no reasonable person would find that acceptable.

      And I'm using big words and have a nice suit and look like a professor so you have to believe me and not the other guy.

      1. a_yank_lurker

        Re: Blackstone's Dictum

        Depending on the bugs found the defense could have the case tossed by the judge. Also, a good defense attorney knows that all that is needed is prove the DA's evidence does not meet the standard for conviction 'Beyond a reasonable doubt'. So if the analysis says the error rates for the code is too high the reliability of the analysis can be challenged. Either the DA uses a more credible analysis or they have to drop charges if they want to have a chance of conviction at a later date.

        In my mind, especially as programmer, the antics of the company are enough for me to have a reasonable doubt about the quality of the code. Of course, this might not come out a trial.

  12. Danny 2

    Too Long; Don't Read

    I was stopped and charged for speeding at 45mph in a 40mph zone. I was in a line of nine cars and the police car was two cars behind me, I knew they were there and was watching my speed. We were all doing 40mph. The cops admitted in the back of their car that they'd only stopped me because I was chatting with my passengers. So I pled not guilty and went to court, which was a pain because I lived in Skye and had been stopped outside Broxburn, a very long drive in winter, only to find out the case had been delayed without notice. I attended the rearranged trial a few weeks later and again it was cancelled, same long expensive drive to attend. I wis a wee bit exasperated on my third attendance and said, "Look, if you think I am a dangerous driver then you shouldn't be making me drive thousands of miles in the snow."

    The police officers who'd arrested me, who worked in the same building, were sent for to justify the measurement. They were too busy to attend so I was told to come back for a fourth time. I said, "Fer fuck sake!" - to a Sheriff!

    Court was adjourned and a lawyer approached me and asked, "Do you accept the police measurement of your speed?"

    "No, and I'll tell you why. For a start..." I had a list prepared.

    "Shut up. Don't say another word, I'm the Prosecutor and I can ask for this to be dropped".

    No way they can tell my speed from the car in front of me and the car behind me except by looking at their own speed gauge.

    Cops lie because they get away with it so often with so few repercussions that it is always worth challenging their evidence, although always an effort.

  13. Andrew Williams

    And his credentials for evaluating software are what?

    It all seems rather sketchy...

  14. earl grey
    Facepalm

    and yet

    we still can't forensically check those voting machines. wtf

  15. Kevin McMurtrie Silver badge
    Boffin

    AI, math, and TDD

    Every time I hear about "Test Driven Development" I imagine contractors from a "talent pool" copying and pasting Stack Overflow snippets until unit tests pass. Few people do the "science" part of computer science where you analyze the system as a finite state machine. In fact, it's probably impossible for genetic comparisons because the input is extremely large and imperfect. I suspect there's a bit of AI-like code where you create layers of transformations that give you the answers you're looking for based on probabilities. And that's where we're back to TDD. Training an extremely complex algorithm to produce the desired outputs for a finite number of test inputs doesn't extrapolate to accuracy for all inputs.

    Get some people to review that code!

  16. Ken Moorhouse Silver badge

    Attorneys defending Corey Pickett

    I can imagine that they will see a big increase in their caseload because of their good understanding of software innards from a legal perspective.

  17. Benny

    Shouldn't things like DNA analysis - that are used to convict people - be out in the open? Like, sure, you want to make money, but if you want to liable

    for putting people behind bars - or worse - then I think you're product should be out in the open, and fully vetted.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like