All the way through the Software development unit I have tried to instill in you, the idea that programming must be carried out in a rigorous manor. This story shows how important it is that all aspects of software development come together.
The failing may have been a simple HCI problem, if the dashboard had reported the error and asked the driver to restart the car when safe, then all may have been right. Or was is a problem with how the car handled the ice in the first place? In truth the answer may never be known and the error may be unrepeatable, good forward thinking design should be minimise these errors.