News for hackers. Stuff that matters.
Re:Lessons Learned Developing Software for Space Vehicles by shabble on Sunday March 24, 2013 @10:29AM (#5432124)
Multi-version programming[1] (independent implementations of the same specification) is one of the classic solutions to this problem. Likewise for power, location, etc. If you really care about these failure modes, you'll have N different designs of PSU & hardware fed via redundantly pathed links, etc.

Aside from the (huge) cost/dev time, the biggest issue is that you still can't protect against logic errors in the specification, and the difficulty in testing every sequence of failure modes across implementations.

[1] https://en.wikipedia.org/wiki/N-version_programming

Re:Lessons Learned Developing Software for Space Vehicles by atsaloli on Sunday March 24, 2013 @12:54PM (#5432596)
You can protect against design errors through formal logic verification of the model. Www.spinroot.com
Re:Lessons Learned Developing Software for Space Vehicles by ersii on Sunday March 24, 2013 @03:24PM (#5433174)
And for those who think the link is unrelated spam, it's not.

Description provided on spinroot.com: "Spin is a popular open-source software tool, used by thousands of people worldwide, that can be used for the formal verification of distributed software systems. The tool was developed at Bell Labs in the original Unix group of the Computing Sciences Research Center, starting in 1980."

Re:Lessons Learned Developing Software for Space Vehicles by atsaloli on Monday March 25, 2013 @02:10PM (#5438589)
Thank you, ersii. I was wondering why my karma ticked down.