From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA15493; Tue, 1 Jul 2003 15:39:12 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA15877 for ; Tue, 1 Jul 2003 15:39:11 +0200 (MET DST) Date: Tue, 1 Jul 2003 15:39:11 +0200 (MET DST) From: Vincent Simonet X-X-Sender: To: Subject: [Caml-list] Information flow analysis: Flow Caml Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Spam: no; 0.00; annotated:01 lattice:01 inference:01 verifies:99 annotations:01 subtyping:01 cygwin:01 dialect:01 compiler:01 cristal:01 caml:01 pottier:01 binary:02 compile:02 unix:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk I am delighted to announce the first public release of Flow Caml a prototype implementation of an information flow analyzer for the Caml language. Flow Caml is an extension of the Objective Caml language with a type system tracing information flow. Its purpose is basically to allow to write "real" programs and to automatically check that they obey some confidentiality or integrity policy. In Flow Caml, standard ML types are annotated with security levels chosen in a user-definable lattice. Each annotation gives an approximation of the information that the described expression may convey. Because it has full type inference, the system verifies, without requiring source code annotations, that every information flow caused by the analyzed program is legal with regard to the security policy specified by the programmer. Technically speaking, Flow Caml is also one of the first real-size implementations of a programming language equipped with a type system that features simultaneously subtyping, ML polymorphism and full type inference. The source distribution can be downloaded at the following address: http://cristal.inria.fr/~simonet/soft/flowcaml/ It should compile on every Unix box where the Objective Caml compiler and GNU Make are installed (and also Windows+Cygwin). A binary build for Windows operating system is also available. A manual, which includes a comprehensive tutorial introduction to the system, is also available: http://cristal.inria.fr/~simonet/soft/flowcaml/ This document has been written to be understandable by everyone who has some programming experience in Caml (or another ML dialect), without any prior knowledge about information flow analysis or subtyping. This implementation has been carried out from my joint work about information flow analysis with Fran=E7ois Pottier. Comments are very welcome. -- Vincent Simonet INRIA Rocquencourt - Cristal team ------------------- 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