When Software Goes Wrong ! – A Halloween Special

With Halloween just around the corner we figured that we should try to fit with the spooky feel of the season with a scary article. But what can be scary about developing software?

Having software fail following its implementation is the worst nightmare of many a software developer, after all the success or failure of code will reflect back on the individual or organisation behind its creation. This is why there are so many guidelines and quality standards put in place by numerous regulatory bodies, but on occasions when these standards get ignored this nightmare can suddenly become a terrifying reality.

The 2013 Toyota Camry Accident

In 2013 Japanese car manufacturer Toyota were found to be responsible for a crash involving a 2005 Camry that resulted in the death of one of the passengers. The driver involved in the accident blamed a fault in the Electronic Throttle Control System (ETCS) for causing sudden unintended acceleration that could not be stopped by pumping the brake. Toyota denied that there was any issue with the ETCS stating that the driver must have unintentionally pumped the throttle rather than the brake, but were unable to explain the 150ft skid marks left on the road prior to the impact.

Initial investigations by the National Highways Traffic Safety Administration (NHTSA) and NASA into the ETCS source code were unable to prove that a fault had been responsible, but did not rule it out as a possibility. Further investigation by embedded systems expert Michael Barr revealed that Toyota had disregarded the industry safety standards resulting in spaghetti like source code and a failsafe structure that was built like a house of cards.

Barr concluded that a single bit flip was all that was required to initiate unintended acceleration, and that if already pressed the brake would need to be released completely and pressed again before it would come into effect. in this case a settlement was made before a final verdict was delivered, but there is no doubt that there will be lingering repercussions for the manufacturer for many years to come.

Always Programming With Safety in Mind

There is no denying that a malfunction, as experienced by Toyota, is truly horrific especially for companies such as Zircon that often work with safety critical systems. We always ensure that we design safety into our software, that our engineers follow the relevant coding standards and that our testing is thorough, as we are by no means immune from the possibility of project failure. Yet it is unreasonable to assume that every project will be easy sailing from beginning to end.

Problems can appear unexpectedly like the villain in any good horror movie, however it is how these occasions are handled that make the difference. Unlike the cowardly protagonist from most classic horror sequences we will never run away from a problem, no matter how scary it may appear to be. On the contrary we will work tirelessly to deliver a suitable solution for each situation, and critically look to learn from our mistakes to ensure that they don’t come back to haunt us in the future.

More From The Blog

IR35, Here it Comes Again…

IR35, Here it Comes Again…

IR35, Here it Comes Again...In 2021 the reform to IR35 Off-Payroll rules is to be rolled out to the private sector. As before the reform will only affect companies that do not meet the following attributes: an annual turnover below £10m fewer than 50 employees or a...

Solving the Resource Conundrum

Solving the Resource Conundrum

Solving the Resource ConundrumPicture this. One minute all is fine and dandy, you have access to all the resources you could possibly need, then bam an unexpected challenge arises. Suddenly you find yourself lacking the capacity to meet the new need. What are your...

Quality – An Aid to Produce Consistent Rubbish

Quality – An Aid to Produce Consistent Rubbish

Quality - An Aid to Produce Consistent RubbishAnother year has passed, and myself and a colleague have hosted a BSI auditor for our annual ISO9001/TickITplus check-up, and in fact this was more than the regular check, in that it was our 3-year re-certification audit,...

The Hazards of Legacy Systems

The Hazards of Legacy Systems

The Hazards of Legacy SystemsBeing the owner of a software system with a dedicated customer base sounds like the kind of position one would like to find themselves in. At least until it gets superseded and you have to face dealing with a legacy system. Many developers...

How to Test Without Access to The Test Environment

How to Test Without Access to The Test Environment

How to Test Without Access to The Test EnvironmentIn many of our previous articles, we have expressed the importance of achieving a high standard of testing. Potentially blocking this achievement, several factors can come together to affect the quality of your...

The Technical Workshop – How To Make Them Work For You

The Technical Workshop – How To Make Them Work For You

The Technical Workshop - How To Make Them Work For YouAnyone experienced in product design will understand just how valuable a facilitated workshop can be. Bringing together a project's key stakeholders into a single space allows for the exploration of diverse...

Developing Software for Safety Related Systems

Developing Software for Safety Related Systems

Developing Software for Safety Related SystemsSoftware systems should always be both robust and reliable, however the moment you introduce a safety element, this need for reliability increases significantly. The level of safety required is governed by the severity and...

How to Choose an Outsourcing Partner

How to Choose an Outsourcing Partner

How to Choose an Outsourcing PartnerHaving recognised a need to outsource, and worked your way through the initial preparations, you are now in a strong position to seek out a suitable partner. Choosing an outsourcing partner is no trivial affair, so taking the time...