How to create a software that is so reliable and stable that it would use very limited processing power and recover from all(most all) failures. So I thought the one true challenge for software is when it has to run on a spaceship!
What tools and development strategies could one use today to achieve such a goal?
(Note: This is not about spaceship software in particular but how "lessons learned" from spaceship software development could be valuable for non-spaceship software)
From people who are actually writing code for spaceship and exploration robot.
However, I am not sure how applicable are these kind of advices to other domains. I am working on critical medical devices, so we are already following most of these recommendations, but if you are designing a website managing millions of users, the advices would look totally different. It would be silly to write everything from scratch in C without any kind of dynamic memory allocation.
I am not convinced the former is necessary better or more challenging than the latter, it is just a different context.