caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alessandro Baretta <alex@baretta.com>
To: Ocaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Statically detecting arrays bound exceptions ?? (was: Universal Serializer)
Date: Sun, 14 Jul 2002 15:24:00 +0200	[thread overview]
Message-ID: <3D317B70.4010605@baretta.com> (raw)
In-Reply-To: <20020714142540.A4150@gogol.zorgol>



Berke Durak wrote:
> On Fri, Jul 12, 2002 at 10:41:35PM +1000, John Max Skaller wrote:
> [...]
> 
> Hey, wait a minute, how do you plan to statically detect bounds exceptions ?
> It's as undecidable as detecting infinite recursions.
> 
> 	let rec f () =
> 	   let a = [|1;2|] in
>        if compiler_is_gonna_say_that_there_is_gonna_be_a_bounds_error f then
>           a.(0)
>        else
>           a.(3)

If the compiler attempted to catch at least the most evident 
  bounds errors, it would very simply detect that your code 
contains an expression which, if evaluated, would raise a 
runtime bounds error. Hence, the compiler should simply 
reject the code. Of course, in the absence of some unusual 
limitation on the expressive power of array creation and 
indexing expression, the general problem of static detection 
of array indexing errors is undecidable.

I wonder if the compiler gurus at the INRIA know what kinds 
of constraints imposed on the language would allow the 
compiler to statically check array indexing. I can imagine a 
few applications, such as signal analysis, where the program 
logic is simple enough that such a restricted language might 
suffice, and come to the aid of the developer who presently 
uses unsafe arrays for the sake of speed, but with no help 
from the compiler at prooving that the program is correct 
with respect to array indexing.

I have a feeling that most applications which would benefit 
from static checking of array indexing boil down to finite 
state automata. I'm pretty sure that a language based of 
FSAs could do static bounds checking.

Alex

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2002-07-14 13:17 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-08 19:53 [Caml-list] productivity improvement Oleg
2002-07-08 20:14 ` Michael Vanier
2002-07-10 15:50   ` John Max Skaller
2002-07-10 18:56     ` Alessandro Baretta
2002-07-10 19:09       ` Jun P.FURUSE
2002-07-11 23:43         ` Pierre Weis
     [not found] ` <15657.61603.221054.289184@spike.artisan.com>
2002-07-09  4:43   ` [Caml-list] Universal Serializer (was: productivity improvement) Oleg
2002-07-09  7:56     ` Nicolas Cannasse
2002-07-09  7:59     ` Nicolas Cannasse
2002-07-10 16:06       ` John Max Skaller
2002-07-10 22:29         ` Michael Vanier
2002-07-11  8:13           ` Nicolas Cannasse
2002-07-12 12:41           ` John Max Skaller
2002-07-14 12:25             ` [Caml-list] Statically detecting arrays bound exceptions ?? (was: Universal Serializer) Berke Durak
2002-07-14 13:24               ` Alessandro Baretta [this message]
2002-07-15  8:23                 ` Xavier Leroy
2002-07-15  8:39                 ` Noel Welsh
2002-07-15 21:22                   ` Oleg
2002-07-15 22:44                     ` Michael Vanier
2002-07-16  6:43                     ` Florian Hars
2002-07-16 20:22               ` [Caml-list] " John Max Skaller
2002-07-16 20:36                 ` Johan Baltié
2002-07-16 20:55                   ` Hao-yang Wang
2002-07-17  8:25                   ` Noel Welsh
2002-07-12  1:41         ` [Caml-list] Universal Serializer (was: productivity improvement) Eray Ozkural
2002-07-12  8:10           ` [Caml-list] OCaml QT bindings Stefano Zacchiroli
2002-07-12 17:30             ` Eray Ozkural
2002-07-12 10:37         ` [Caml-list] Re: productivity improvement Oleg
2002-07-12 11:23           ` Markus Mottl
2002-07-12 11:34             ` Oleg
2002-07-12 11:43               ` Markus Mottl
2002-07-12 12:59                 ` Pierre Weis
2002-07-12 16:42                   ` Markus Mottl
2002-07-14 20:44                 ` Dave Berry
2002-07-14 22:13                   ` Markus Mottl
2002-07-15 16:43                     ` Alwyn Goodloe
2002-07-16 20:14                     ` Dave Berry
2002-07-17  3:21                       ` Eric Merritt
2002-07-15  9:39                   ` Alessandro Baretta
2002-10-15  8:38                   ` Eray Ozkural
2002-10-17 21:27                     ` Dave Berry
2002-10-18  2:48                       ` Eray Ozkural
2002-10-20 12:46                         ` Dave Berry
2002-10-21  6:11                           ` Michael Vanier
2003-05-10 20:41                           ` Eray Ozkural
2002-07-12 11:43             ` Noel Welsh
2002-07-12 12:10               ` Markus Mottl
2002-07-12 13:44           ` John Max Skaller
2002-07-12 16:19             ` Alan Schmitt
2002-07-12 20:41             ` John Carr
2002-07-13 21:19               ` [Caml-list] Re: productivity improvementu Pierre Weis
2002-07-12 21:24             ` [Caml-list] Re: productivity improvement Brian Smith
2002-10-15  8:57             ` Eray Ozkural
2002-10-15 11:50               ` [Caml-list] eproductivity improvement Alessandro Baretta
2002-07-09 12:45 ` [Caml-list] productivity improvement Basile STARYNKEVITCH
2002-07-09 18:20   ` Shannon --jj Behrens
2002-07-09 19:16     ` Oleg
2002-07-09 20:31       ` Shannon --jj Behrens
2002-07-10 10:02     ` sebastien FURIC
2002-07-10 11:58       ` Dave Mason
2002-07-10 13:11         ` sebastien FURIC
2002-07-10 19:22           ` nadji
2002-07-10 20:15       ` Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) Oleg
2002-07-10 20:34         ` [Caml-list] " William D. Neumann
2002-07-10 20:47           ` [Caml-list] Re: Sieve of Eratosthenes Performance: various languages Alexander V.Voinov
2002-07-10 21:16             ` William D. Neumann
2002-07-10 20:49           ` [Caml-list] Re: Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) William D. Neumann
2002-07-11 22:30           ` [Caml-list] Array.resize ? Oleg
2002-07-11 23:06             ` Alessandro Baretta
2002-07-12 13:01               ` John Max Skaller
2002-07-12 18:24                 ` Shawn Wagner
2002-07-11 23:31             ` Markus Mottl
2002-07-12 12:54             ` John Max Skaller
2002-07-12 13:23               ` Olivier Andrieu
2002-07-12 14:05                 ` John Max Skaller
2002-07-12 16:09               ` Brian Rogoff
2002-10-19  9:16                 ` Eray Ozkural
2002-10-19 22:15                   ` [Caml-list] debugger losing contact with debuggee process Lex Stein
2002-10-20 10:06                     ` Pierre Weis
2002-10-21  9:11                     ` Xavier Leroy
2002-10-18  3:05             ` [Caml-list] Array.resize ? Eray Ozkural
2002-10-19  1:51               ` Oleg
2003-05-10 20:24                 ` Eray Ozkural
2002-07-10 20:48         ` Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) Markus Mottl
2002-07-11  5:53           ` Anton E. Moscal
2002-10-18  3:07           ` Eray Ozkural
2002-07-10 15:39 ` [Caml-list] productivity improvement John Max Skaller
2002-07-11  8:57   ` Nicolas barnier
2002-07-12 12:16   ` [Caml-list] Is this a bug? John Max Skaller
2002-07-12 14:05     ` Xavier Leroy
2002-07-16  3:34   ` [Caml-list] productivity improvement Oleg
2002-10-18  3:13     ` Eray Ozkural
2002-07-17  6:19 [Caml-list] Statically detecting arrays bound exceptions ?? (was: Universal Serializer) Johan Baltié
2002-07-17  6:46 ` Jacques Garrigue
2002-07-17  7:14   ` Johan Baltié
2002-07-17  7:32     ` Jacques Garrigue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D317B70.4010605@baretta.com \
    --to=alex@baretta.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).