Hacker News new | ask | show | jobs
by shabble 4833 days ago
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

1 comments

You can protect against design errors through formal logic verification of the model. Www.spinroot.com
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."

Thank you, ersii. I was wondering why my karma ticked down.