Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

From what I saw, most mission critical software is done in such a way that a single programmer can understand the whole system starting from microcode instructions up to the control parts.

Lots of static analysis also helps, as well as systematic human review of any code, test, or test result.

The best example I witnessed was an engine control system (FADEC software) written in a dialect of ADA called Spark. The code was so clear that it was self-explaining, and a requirements database could explain any given statement in the program. Spark has some nice properties (e.g. no recursion to make it possible to check stack depth limits statically...)

So while more manpower is an important element, it is not the only one. Simplifying the problem space to an extreme is also essential.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: