The average modern high-end automobile has 100 million lines of code running on the order of 100 microprocessors. Everything from the door locks, engine operation, transmission and fancy LED dash is a computer application.
All computer software is developed to implement a list of features or use cases which prescribes how the driver interacts with the system.
Each use case is broken down into granular specifications and units of code. Test strategies and test cases are developed and implemented to test the functionality of a component or a collection of components to ensure the system behaves as designed. As well, test strategies and cases are required to ensure that all integrated systems function as designed and perform to the required specification.
The design of the system may be incomplete. Features that should have been included are never implemented. As well, every software project runs on a budget and marches to a timeline to deliver a system of given functionality. Software development projects often underestimate the required amount of effort and require additional funding, time, resources to complete all function points. Another tactic is to park the implementation of function points until future releases – often the function points are never implemented due to lack of funding or changing requirements.
There are often cases where the system cannot be tested or tested to a high degree of certainty. It also may be the case where a system is monitoring another system and can only be tested by damaging the system being monitored. Testing military systems such as air to air missile defence system fall into this category.
No system is ever free of bugs.
Achieving 99999.9% reliability rating means that there are 100 bugs in the 100 million lines of code in a BMW 750’s on board computer system.
So why should we be concerned?
Every automotive company is investing billions on self driving cars. Ford announced a $1B investment in Argo AI. GM is planning on hiring 1,000 engineers in Canada for self driving car project. Tesla and Volvo have self driving car offerings.
For the same money, each automaker could have launched a new car which ideally accelerates to 60 miles per hour in two seconds and gets 40 miles per gallon.
Any system which makes self driving cars possible would need to implement thousands of scenarios which places the self driving automobile on a road shared with hundreds of other cars on a freeway, slow moving urban traffic, pedestrians, cyclists, skateboarders, roller bladers and the like not to mention varying weather conditions.
Volvo for example, failed to implement a kangaroo recognition system for Australian cars. There are no kangaroos in Sweden. A Volvo’s large animal detection system handles moose and deer. Furthermore, there appears to be no standards or co-operation of between manufacturers of autonomous cars. It should be legislated that any self driving vehicle communicates it position, speed and direction with each other.
Joshua Brown was killed when he was driving his Tesla Model S in hands free mode. The Tesla was driving in to the sun. A semi truck crossed the highway. The cameras in Brown’s Tesla were blinded by the sun and the autonomous system picked a path under the trailer. Mr. Brown was killed instantly as the Tesla collided with the trailer at speed.
Tesla had not considered this use case in the design of their autonomous vehicle software. I contend that every day, there are new use cases invented by car drivers to avoid collisions, debris on the road or getting stuck in deep snow which, due to constraints of time, money and labour will not be implemented in autonomous vehicles.
There are life impacting decisions where a semi truck is about to impact the rear of an autonomous car. The car cannot accelerate due the cars in front or the slippery road conditions. Nor the autonomous car change lanes into oncoming traffic or over drive over a cliff.
The semi truck hit the car with loss of life. The courts will be charged to deciding who is at fault.No one is demanding a self driving car Survey – University of Michigan.
Is there anyone demanding in large numbers with deep wallets that a computer should be driving their car? In 2015, Ford produced 6.4 million vehicles which, if the AI system investment was $ 1Billion, works out to $15,625 per vehicle. Even if the investment was amortized over a five year period, the cost per car is still over $3,000 per vehicle. Why can’t they invest in developing practical vehicle technology that generates no emissions, does not rely on fossil fuels and has only one reliability incident in five years?
If the technology fails to gain traction, we as consumers will pay for it through higher auto prices.
Uber would love to fire all its drivers and send you a driverless Volvo for your ride.
To me, it is a case of a technology looking for a reason for being.
The technology is more than cruise control. I doubt that a significant number of drivers will ever trust the technology with their lives.
Would you prefer Uber with no driver or a taxi with a driver?
Give me a taxi with a real live driver please.