Anything on theoretical advances in proving programs would be appreciated too (math isn't a problem).

If you're into formal proofs you should be taking a look at things like the Z language. However these systems are a lot less useful than many people imagine. Even with Z the task of proving a program does what you think it does is hard, and the problem of ensuring that your real-world requirements match your Z-code is still non-trivial. All they do is move the problem up a level.

The common problem with all these books I've found is that they lack substance, seeming to focus almost entirely on metaphors and don't provide anything that can be directly applied.

Personally I'd take another look at XP. I'm not sure what books you've been reading, but XP is all about directly applicable rules and practices. Rules and practices that I have found very effective at increasing code quality.

Can anyone shed some light on the practices that allow software to be used in applications where any failure is simply not acceptable? Thank you for your responses.

If you really mean "not acceptable" than it's all about large amounts of requirements tracking, testing and process. For example, see this article on the on-board shuttle group at Lockheed Martin - the people who write the software that runs the space shuttle.


In reply to Re: Software Design Resources by adrianh
in thread Software Design Resources by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.