Posted September 01, 2015
Volkswagen Test Rigging: Who’s to Blame for Cheating Software?
Emissions scandal audit logs hold the key to prove any wrongdoing on CEO Martin Winterkorn’s part
Volkswagen CEO Martin Winterkorn stepped down as the company is trying to cope with the heat for cheating on emission tests, thwarting environmental standards. Winterkorn said in a statement that by doing so, he was acting in the interest of the company and there was no wrongdoing on his part. The question then arises who is to blame for the cheating software and duping regulators? An audit trail on whoever worked on creating and testing the software could hold the key to prove any wrongdoing on CEO Martin Winterkorn’s part.
As Volkswagen’s emission scandal has widened, its share price has tanked and the company has set aside approximately $7.3 billion to cover the costs related to the scandal including recalls. U.S. authorities announced that they are widening the probe to other automakers.
Since, in Volkswagen’s case, the software sensed when the car was being tested and thereby activated the equipment to reduce emissions, a critical piece in identifying evidence would be analyzing the different events across the software development lifecycle. Critical questions to answer are: 1) why and who initiated such a user requirement (if it ever existed), 2) who worked on the code, 3) and how come the flaw wasn’t detected during the testing phase? While the process may seem easy on paper, figuring out the answers to these questions will be challenging. The primary reason being the velocity with which software is being released to the marketplace necessitates an agile approach, which essentially results in millions of lines of code being worked on and checked into production every minute.
A critical way of ensuring transparency in such scenarios is having systems that can scale with an iterative development methodology and keep a log of changes made across the software development lifecycle. Following such a trail can be very useful in figuring out the origins of problems and who is to blame. In Volkswagen’s case, a proper test case versioning system would help regulators get insights into whether the car was tested during driving as well as within laboratory. If it was, the next obvious step to look for would be if the tester got different readings for emissions in each case. And if they did (which they should have), a corresponding bug report should have been raised. If the bug report does exist, which developer was assigned to work on it? As evident, having one view right from requirements, code, test cases and defects, along with changes made across these phases, can help figure out who is at fault.
“In a continuous delivery model which we are viewing more and more in software development arenas, having the ability to deliver releases quickly to the marketplace is important,” said Nikhil Kaul, Product Manager, Testing Products at SmartBear Software. “Volkswagen’s case however proves that operating in a high velocity and shorter release cycle necessities archiving the results for traceability. If something goes wrong, such steps can help ensure transparency and identify where the process went wrong.”
Most recent Part 2 of this series can be found here
Nikhil Kaul is Product Marketing Manager for TestComplete
at SmartBear Software, the choice of more than two million software professionals for building and delivering the world’s best applications. Previously, he served Digité, a leading provider of collaborative enterprise software and solutions for Agile Application Lifecycle Management, in various roles including Senior Solution Executive. There, he gained crucial insights into development, testing, and application life cycle management market. Nikhil recently received a Master's Degree in Business Administration from Georgetown University. He is very involved in discussions taking place in software development and testing community. His most recent thoughts can be found in Forbes and SD Times. Read his blog posts or Follow him on Twitter @kaulnikhil