David M Williams
Monday, 18 May 2009 14:37
Opinion and Analysis
Page 2 of 2
Base One Technologies noted several sections of the code were marked as “temporary, for now” indicating the programmers knew their work was incomplete but had failed to return and repair it.
Some of the flaws meant that breathalyser readings are not averaged correctly with what can only be described as a pure rookie mistake.
If you wish to average a collection of readings you must consider them all. The average of 12, 18 and 21 is 17. However, the Alcotest unit would determine the average of the first two readings - giving 15 in the case of 12 and 18 - and would then take the average of this calculated number and the third reading – giving 18 in this example, the average of 15 and 21 being 18.
Such a flaw means the device does not succeed in its stated purpose, with all documentation explaining the unit calculates averages of a series of readings.
Another problem is that the microprocessor’s catastrophic error detection interrupt was disabled meaning that if an illegal instruction was encountered the device will still appear to run correctly even though it was executing arbitrary code.
These are staggering revelations. Indeed, Draeger – the manufacturer – may well find themselves on the end of a lawsuit from the state of New Jersey to recoup $USD 7 million.
Now, I’m all for stopping people driving when their judgment and ability is hampered, but using such buggy software means there cannot be any confidence in the results returned by this device. It is possible people have escaped penalty when they were legitimately over the limit, and similarly, it is possible other drivers have been penalised despite being less intoxicated than the machine indicated.
Regardless of the application of this specific unit, it hits hard that as we become more and more dependent on computer software for evidence and legal purposes and determining the will of the people, there must be a way to examine that software for accuracy and reliability.
It is an imperative that closed source applications used by Governments be made available for scrutiny and code review if the public can be expected to have trust and confidence in their results.
This is why we need open source.