From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: bobduff@world.std.com (Robert A Duff) Subject: Re: OO, C++, and something much better! Date: 1997/01/27 Message-ID: #1/1 X-Deja-AN: 212647627 references: <6PI998tV3RB@herold.franken.de> <5c4ab5$134$1@goanna.cs.rmit.EDU.AU> organization: The World Public Access UNIX, Brookline, MA newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.lang.smalltalk,comp.lang.eiffel Date: 1997-01-27T00:00:00+00:00 List-Id: In article , Robert Dewar wrote: >Runtime checks tell you only that a specific execution of the program did >not fail the checks, and are thus subject to the fundamental weakness of >all dynamic based testing methods -- they can establish the presence of bugs, >but they cannot easily be used to prove the absence of bugs. But, to be fair, to the dynamic-typing folks, static checking can't prove the absense of bugs, either. There is no silver bullet. Static checking eliminates *some* bugs, and that's good. A catch-phrase like "testing can't eliminate bugs" isn't helpful, since no other technique is perfect, either. IMHO, one should be looking for techniques that reduce bugs, not for some fool-proof-method that can replace some-other-foolproof- method-that-eliminates-bugs, and thereby replace the other technique. This comment even applies to formal proofs of "correctness", since "correctness" really means, in this context, "obeys some formal specification", and there is never, nor can there ever be, a formal proof that the formal specification obeys what a reasonable person demands of the software. IMHO, one should be applying static checking and also dynamic checking and also testing and also anything-else-one-think-of to eliminate bugs. No single techique will suffice. - Bob