A lot of the bugs we see in deployed products slip through the net due to limitations in JTAG-based debugging and test systems.
It was not until much of Southern California was in flames with wildfires and we made it to the network news that we managed to get money for a superior ICE (in-circuit emulator) and life got a little better.
With today's ever increasing processor speeds, coupled with the increasing size and complexity of the code that runs on them, good debug is invaluable when performing tasks like controlling a complex vehicle network. For myself, I am coping with a 10-year-old truck, and will likely need to keep it running for another 10 (I have kids in college). Even after 10 years of recall notices, it still has bugs! The ABS brakes do not work correctly when the wheel is cranked hard to the left or right and the transmission sometimes malfunctions when going around corners! This requires one to drop the pan on the transmission and re-attach the filter. The engine has caught on fire on one occasion and -- no matter what I do -- it sometimes blows oil out of the fill cap.
My friend has a brand new truck equipped with very complex electronics and all kinds of fuel-saving features. Even with its smaller V6 engine, it can tow more than my old truck. However, my friend also has problems with computer bugs requiring frequent trips to the shop. Other people I have met of very modest means with older cars either have bugs -- such as having the traction control malfunction at speed on the highway. Thereby requiring them to shut off the ignition rapidly and turn it back on again -- or a face a higher fuel bill.
My brother's friend in the farm equipment business has similar issues. Although the new equipment is more fuel efficient, it is expensive, has bugs, cuts down on food production when down, and requires an ever-growing stock of spare parts and tools! And it goes on -- doctors, dentists, and medical staff have similar problem; even if there is just one critical bug that rarely happens, some lifesaving device will have to be recalled, restricted, or withheld from use.
With around 7 billion people in the world to feed (up from about 4 billion in the mid-1970s) and agriculture and food distribution equipment suffering from bugs, security flaws, and malfunctions, this is truly a global problem that transcends age brackets, races, and cultures. Some places throw food out that is good but not legally salable, while others lack food due to poor quality transportation and distribution networks, poor inventory control equipment, corruption not audited due to lack of checks in firmware, poorly networked and non-networked device security, and many other problems having to do with bugs.
And, at the end of the day, a lot of these bugs slip through the net due to limitations in JTAG-based debugging and test systems. What are some of your frustrations coming from JTAG?