From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Buffer overflow Article - CACM
Date: Tue, 15 Nov 2005 09:49:54 +0100
Date: 2005-11-15T09:47:34+01:00 [thread overview]
Message-ID: <2jzfmy3kqhw9$.10by8ooz0jy1b.dlg@40tude.net> (raw)
In-Reply-To: m2r79jhrqz.fsf@grendel.local
On Mon, 14 Nov 2005 20:57:40 +0000, Simon Wright wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>
>> This is not the whole truth. I agree that overhead caused by
>> run-time checks is not a big deal. But that is not the problem in my
>> view. Let they be 0%! The real problem is that a check may fail
>> while program crash is not an option. This means that there must be
>> some error handling. More errors may happen at run-time more complex
>> infrastructure one would require. Add here unit tests for these
>> errors etc.
>
> For information -- is your point that we should design the program
> (using eg SPARK) so that there isn't any need for runtime checking?
Yes, when possible.
> (I don't think it likely that you want us not to bother to do any
> checking!)
We should draw line between "functional" and "non-functional" checks. When
checks is an artefact of program/language/environment design then its
penalty is more than just run-time overhead. Of course the distinction is
not absolute. For example End_Error might look functional, but probably in
a better OS with OO interface you will never have it working with a string
container, XML document rather than with a raw byte stream. Buffer overflow
checks is a clear "non-functional" candidate to me. This is also a reason
why I'm skeptical about the design of Unbounded_String and Ada.Container.
They don't support safe iteration constructs "for I in X'Range loop".
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2005-11-15 8:49 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 [this message]
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
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