[Boulder.pm] Academic vs Production Code

Walter Pienciak wpiencia at thunderdome.ieee.org
Tue Aug 28 13:06:08 PDT 2012


On Thu, Aug 23, 2012 at 03:29:16PM -0600, Rob Nagler wrote:
> 
> Here's a discussion about Fast Fail (or vice-versa :)
> 
> http://en.wikipedia.org/wiki/Fail-fast
> 
> Code always makes assumptions, and these need to be checked in
> appropriate (not all) interfaces.  The example was opening a file,
> which can fail, and if it does, the program has to stop doing
> something it should be doing.  Most of the bugs in software are
> related to mismatched assumptions.  In this case, the operating system
> and language processor assume opens can fail and need to be checked,
> but the program is assuming it won't and doesn't check.  Another
> approach, which is Pascal-like, is that the language processor fails
> for the program.  This is the nanny-state solution, and it doesn't
> work either.  You don't want the program to fail when you can't open a
> file in an editor; you want it to produce an error message, and ask
> the user to correct the file name.

I just want to say, Rob, that we support your position:

    "There are significant economic benefits in the early
    detection of faults. This implies that test set development
    should start as soon as practical following availability of
    the unit requirements documentation because of the resulting
    requirements verification and validation. It also implies
    that as much as practical should be tested at the unit
    level."

    Appendix B item B2.4
    IEEE Standard for Software Unit Testing (IEEE Std 1008-1987)

;^)

Walter 


More information about the Boulder-pm mailing list