🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.misc.discuss
Article #73675

Re: NJ wants to license programmers

#73675
From: Scott E. Preece
Date: Mon, 29 Jul 1991 03:01
67 lines
4673 bytes
In article <1991Jul26.230517.11695@digi.lonestar.org> jgay@digi.lonestar.org (john gay) writes:
|
| Do you really believe that taking an exam and becoming a 'professional'
| would make software any more reliable?  Now, just because a 'professional',
| licensed software stud wrote the program it want break, huh?  The only
| way to increase the reliability of software is to test the software in
| anyway that can be thought of - ever hear of alpha-testing, how about
| beta-testing?
---
There's a reasonably large branch of the CS community that would say
that NO amount of testing can ever make a program reliable, because no
program of real-world complexity can be *completely* tested.  That
branch of CS says that the only way to build reliable software is to
design-in reliability, to prove that the software does what its
specification says it should.  Now, I don't really hold with either side
of the argument -- you really *can't* test any program completely and
the specification camp doesn't solve the problem of testing/debugging
the specification so that you don't end up with a totally reliable
program that doesn't solve the problem it was intended for -- but I do
want to urge you not to rely on testing alone.

Alpha and beta testing are a particularly interesting thing to bring up,
though, because they aren't usually aimed at reliability.  Alpha and
beta testing are usually testing to see whether the program's
functionality meets users needs -- alpha testing on a small, tightly
controlled group, often outside the development group but inside the
developing company, and beta testing on a limited group of real users,
often outside the company.  In fairness, though, most of us do rely on
alpha and beta testing to find reliability problems induced by user's
habits of using the software in ways we hadn't intended.
---
| As far as primary and backup systems go, the only safe way to do this is
| the way the only software controlled nuclear power plant (in Canada I think)
| did this.  They had two independent systems groups design/write/test
| two systems that did the same thing.  This narrows the likelyhood that
| the same bug in the same part of a program will occur.  I think that
| it took them 3 years or so to finish.  After completion the company said
| they were very pleased with the finished results, but if they had to
| do it over again they would just do it the standard hardware way.
---
For what it's worth, the literature is pretty discouraging on
multi-version programming.  Several major studies have found that having
multiple, independently developed versions of a program did not
significantly increase overall reliability.  The independent teams
tended to produce programs that failed in similar ways.
---
| Most fault-tolerant systems are done that way in case the hardware goes
| out, not the software.  After all software doesn't wear out.  If it is
| well tested then it should be reliable.
---
The literature also provides frequent dialogues about whether software
wears out or not.  Even if the bits don't rot, the real-world
requirements tend to change over time -- the hardware may change, the
users' needs may change, the problem domain may change.  The Patriot
missile software, for instance, was designed for a significantly
different task than that it served in the Gulf War.  You couldn't expect
it to perform that role reliably no matter how thoroughly it was tested
in its original role.  So, had it worn out?  Depends on how you view the
total system.  The IRS lets you depreciate software because in most
cases it loses value over time as user needs change.

scott
--
scott preece
motorola/mcg urbana design center	1101 e. university, urbana, il   61801
uucp:	uunet!uiucuxc!udc!preece,	 arpa:	preece@urbana.mcd.mot.com
phone:	217-384-8589			  fax:	217-384-8550
Technical Details
Message-ID: <PREECE.91Jul28230138@etude.urbana.mcd.mot.com>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!elroy.jpl.nasa.gov!ncar!asuvax!mcdphx!udc!preece
References: <1019@snap.mrcu> <1991Jul26.230517.11695@digi.lonestar.org>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 1025b4,624fa0d9d693a21f
X-Google-Attributes: gid1025b4,public
X-Google-ArrivalTime: 1991-07-29 12:27:22 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!elroy.jpl.nasa.gov!ncar!asuvax!mcdphx!udc!preece
From: preece@urbana.mcd.mot.com (Scott E. Preece)
Newsgroups: gnu.misc.discuss
Subject: Re: NJ wants to license programmers
Message-ID: <PREECE.91Jul28230138@etude.urbana.mcd.mot.com>
Date: 29 Jul 91 03:01:38 GMT
References: <1019@snap.mrcu> <1991Jul26.230517.11695@digi.lonestar.org>
Sender: news@urbana.mcd.mot.com (news)
Distribution: gnu
Organization: Motorola MCD, Urbana Design Center
Lines: 67
In-Reply-To: jgay@digi.lonestar.org's message of 26 Jul 91 23:05:17 GMT
Nntp-Posting-Host: etude.urbana.mcd.mot.com