You have to be careful there though. When it comes to computer software even perfect code can require a restart if different code on the same machine is interfering with it. The story has gotten much better but even now occasionally I'll have a reboot a Game or 3D visualization app because the graphics driver got wedged. It's not the applications fault it's the drivers fault.
The reason power cycling is such a useful tool is that most computer systems are running in an environment where the things outside of it's control way outnumber the things within it's control.
Any company that expects its developers to take pride in their work should track crashes and strive to produce software that doesn't routinely need to be restarted.