[LLVMdev] Checked arithmetic
John Regehr
regehr at cs.utah.edu
Thu Mar 27 13:32:53 PDT 2008
> Except that some aspects of the host platform leak through
> to .bc files. This may or may not be a problem.
I know a bit about how Michael Norrish dealt with this sort of thing in
his formal semantics for C. For example, integer width is modeled as a
constant, but one with an unspecified value. Other C level choices such
as order of evaluation of function arguments are modeled using
nondeterministic choice. My understanding is that these are not too
difficult at the level of the language specification, but that they make
proofs about portable C code very difficult.
I don't have a sense if the platform leaks in LLVM are bad ones or not.
> One of the reasons why you have not had success may be that with current
> prover technology, formalizing LLVM semantics and carrying out proofs
> would be a fairly straightforward exercise, but not a trivial amount
> of work. Not a good combination in academic sense.
But the same is true about LLVM itself, yes? Sometimes researchers take
on large infrastructure-type projects because these are great enablers of
new research. This is what tenure is for. Or did Vikram start this
project as an assistant professor? If so, my hat is off :).
John Regehr
More information about the llvm-dev
mailing list