comp.lang.ada
 help / color / mirror / Atom feed
From: Christopher Browne <cbbrowne@acm.org>
Subject: Re: Buffer overflow Article - CACM
Date: Fri, 25 Nov 2005 00:56:26 -0500
Date: 2005-11-25T00:56:26-05:00	[thread overview]
Message-ID: <m3psop8e45.fsf@mobile.int.cbbrowne.com> (raw)
In-Reply-To: 0f4ef.1413$s14.1261@newsread2.news.pas.earthlink.net

> Pascal Obry wrote:
>
>> And then even if there was 100% overhead, what the problem ? For most
>> applications this is not critical and at least for debugging the
>> application this is invaluable. Running with a 100% overhead is
>> equivalent to running with a computer 18 months old. Not that bad :)
>> Again I understand that in some domains we are counting the CPU cycles,
>> but this is not the majority of applications.
>
> Even in cases where it is critical, how fast does an incorrect program
> have to be in order to be acceptable? If a really fast, incorrect
> program is better than a slow, correct program, then I submit the
> following as the solution to all problems:
>
> procedure Solution is
>     -- null;
> begin -- Solution
>     null;
> end Solution;
>
> Compile with all checks suppressed for maximum acceptability.

Reality does *NOT* lie there.

Something that is only approximately correct but that is super-fast
may, in cases where time or computational effort *are* at a premium,
be preferable to a slower "correct all the time" program.

The trouble with formal verification methods is that they consume time
(for the analysis work) when you may well discover that the problem
wasn't specified well enough in the first place for formal
verification to actually do any material good.

Having super-well-specified problems is extremely necessary when doing
"rocket science;" if it costs $1B to fire off a rocket, and you don't
get a second chance, it's necessary to do whatever up-front effort is
required to make sure the problem is super-well-specified.

But there are a lot of cases where that level of effort is not
warranted, and it's NOT worth getting "super-detailed, super-correct"
specifications, and it's NOT worth various of the efforts.

Where the CACM article has some things *right* is that there are
plenty of systems where it would be way too costly to reimplement them
in a buffer-overflow-immune language.  People are not going to redo
everything in PL/1 or Ada just because they have better specified
string types.  They don't have time.
-- 
(format nil "~S@~S" "cbbrowne" "ntlug.org")
http://cbbrowne.com/info/linuxdistributions.html
Rules of the Evil Overlord  #220. "Whatever my one vulnerability is, I
will fake a  different one. For example, ordering  all mirrors removed
from the palace, screaming and flinching whenever someone accidentally
holds up a mirror, etc. In the climax when the hero whips out a mirror
and thrusts it at my face,  my reaction will be ``Hmm...I think I need
a shave.''"  <http://www.eviloverlord.com/>



  parent reply	other threads:[~2005-11-25  5:56 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-13  5:14 Buffer overflow Article - CACM adaworks
2005-11-13  7:35 ` tmoran
2005-11-13  8:49 ` Martin Krischik
2005-11-13 11:55   ` Georg Bauhaus
2005-11-13 14:58     ` Florian Weimer
2005-11-14 13:44       ` Marc A. Criley
2005-11-14 19:13     ` Martin Krischik
2005-11-13 15:02 ` Florian Weimer
2005-11-13 15:44 ` Stephen Leake
2005-11-14 14:40   ` adaworks
2005-11-13 23:57 ` Jeffrey R. Carter
2005-11-14  6:51   ` Martin Dowie
2005-11-14 17:55     ` Jeffrey R. Carter
2005-11-15  9:14       ` Martin Dowie
2005-11-14  7:09   ` Pascal Obry
2005-11-14  8:35     ` Dmitry A. Kazakov
2005-11-14 20:57       ` Simon Wright
2005-11-15  8:49         ` Dmitry A. Kazakov
2005-11-15 14:03           ` Georg Bauhaus
2005-11-15 15:14             ` Dmitry A. Kazakov
2005-11-15 22:32               ` Georg Bauhaus
2005-11-16  1:21                 ` Robert A Duff
2005-11-16  9:26                 ` Dmitry A. Kazakov
2005-11-16 13:02                   ` adaworks
2005-11-17 11:13                     ` Martin Dowie
2005-11-14 17:58     ` Jeffrey R. Carter
2005-11-14 18:44       ` Larry Kilgallen
2005-11-25  5:56       ` Christopher Browne [this message]
2005-11-26  1:31         ` Jeffrey R. Carter
2005-11-27 21:36         ` adaworks
2005-11-28 12:12           ` Simon Clubley
2005-12-01  2:35           ` robin
2005-12-01  7:05             ` adaworks
2005-12-03 13:42               ` robin
2005-12-03 18:18                 ` adaworks
2005-12-12  1:23                   ` robin
2005-12-31  7:39                   ` robin
2005-12-31 17:03                     ` Georg Bauhaus
2006-01-01 12:12                     ` Martin Krischik
2006-01-01 23:12                       ` robin
2006-01-02  3:37                         ` jimmaureenrogers
2006-01-12 22:10                           ` robin
2006-01-03  9:52                         ` Georg Bauhaus
2006-01-12 22:10                           ` robin
2006-01-12 22:36                             ` Georg Bauhaus
2006-01-13 19:53                             ` Keith Thompson
2006-01-13 20:22                               ` Dan Nagle
2006-01-14 17:50                               ` Björn Persson
     [not found]                             ` <12ces1lv5dvm6pifdapj11o1hrtlm6ec7q@4ax.com>
2006-01-13 23:28                               ` robin
2005-11-30 15:27         ` robin
2005-11-14 10:17   ` Peter Amey
2005-11-29  8:16     ` Harald Korneliussen
2005-11-29 10:48       ` Peter Amey
2005-11-30 21:21       ` Brian May
2005-12-01  5:36         ` Jeffrey R. Carter
2005-12-01  9:01           ` Harald Korneliussen
2005-12-01 11:21             ` Martin Dowie
2005-12-01 17:58             ` Jeffrey R. Carter
replies disabled

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