caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* SAFFIRE: type checking the OCaml/C FFI
@ 2005-05-31  1:30 Michael Furr
  0 siblings, 0 replies; only message in thread
From: Michael Furr @ 2005-05-31  1:30 UTC (permalink / raw)
  To: caml-list


Announcing,

     SAFFIRE: Static Analysis of Foreign Function InteRfacEs

Saffire is a static analysis program that detects bugs in programs that
use the OCaml/C foreign function interface. Saffire works by performing
type inference across both OCaml and C to make sure that values are used
consistently across the language boundary. For instance, if a OCaml passes
a record to a C function, that C function should not treat the data as an
integer. Saffire also tracks what C variables point into the OCaml heap
and ensure they are always registered with CAMLparam/local before any
allocation functions are called.

Saffire is currently only a proof of concept implementation and does not
handle every corner of the OCaml grammar.  For example, polymorphic
variants and objects are not supported.  For a detailed list of what is
and what is not currently supported, please see the website below.  For a
more complete discussion on how Saffire works, you may be interested in
reading our upcoming PLDI paper (also available from the site).

Saffire is implemented as a combination of camlp4 and a CIL module and is
freely available/redistributable.  The license is the same as CIL
(standard 3-clause BSD).

http://www.cs.umd.edu/~furr/saffire/

Cheers,
-Mike



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-05-31  1:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-31  1:30 SAFFIRE: type checking the OCaml/C FFI Michael Furr

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).