Electronic – Embedded software running for long time

embeddedmicrocontroller

I have this question suppose we tested the software at bench level and in production it works for some days, but If you find issues after let us say some months. Is it possible for bugs to come after many months? How to identify those test cases? Generally how to plan debugging for such cases? Any software tools which can help me? Any other suggestions? I am speaking about embedded systems for microcontrollers.

Best Answer

These bugs can be in the following cases:
1) The testing did not cover the full range of use cases, and the system encountered some untested input or sequence of inputs, engaging an untested logical path
2) The system has some time-dependent feature (something that is happening on a specific date or time, or after some specific long time.)
3) The system has some counters, which are stored in some wide variables, and then they overflow at some point causing some undefined behavior.
4) Hardware failure.

It is not easy to debug such a bugs after they happen, as it is hard to reproduce them. You can:

1) Log essential diagnostic data in order to examine it if something happens
2) Make the FW run in short cycles of time, resetting it every X days/hours/weeks.