comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Correction to previous post
Date: 1996/04/03
Date: 1996-04-03T00:00:00+00:00	[thread overview]
Message-ID: <dewar.828527000@schonberg> (raw)

Someone pointed out to me that an example I previously posted was wrong,
I must have cut-and-pasted the wrong versoin, GRRR!

Here is the example I meant to post:

with Text_IO; use Text_IO;

procedure S is
   Sum : Integer;
begin
   for J in 1 .. 10 loop
      Sum := Sum + J;
   end loop;

   Put_Line (Integer'Image (Sum));
end;

<<the bad one I posted printed out J and was of course illegal>>

And once again, my point was that on some systems, the above program
will give the right result, and therefore pass exhaustive testing,
even though it has a blatant bug. 

The point is that even exhaustive testing is not enough to prove that
a program meets its specifications. Now of course white box testing
using use-def chaining, could with the addition of tools that pointed
out uninitialized paths, find this error, but of course white-box
testing is not an option open to the ACVC testing.

Actually exhuastive coverage and path testing would be a very difficult
task on a program as complex as a compiler for a complex language. The
effort would be huge, and the trouble is that compilers are fluid enough
that the testing would be rapidly out of date, even if you could afford
to do it. I certainly am not aware of any commercial compiler for
Ada, C++, or even C that has been subjected to complete coverage and
path testing (including of course use-def path testing, since that i
is what is involved here).





             reply	other threads:[~1996-04-03  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-04-03  0:00 Robert Dewar [this message]
1996-04-03  0:00 ` Correction to previous post AdaWorks
1996-04-05  0:00   ` Robert Dewar
1996-04-03  0:00 ` Cordes MJ
1996-04-04  0:00   ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox