[okl4-developer] prove it
Gerwin Klein
gerwin.klein at nicta.com.au
Sun Feb 24 20:40:26 EST 2008
Hi Jorge,
I'm leading the verification Gernot writes about.
This may sound strange, but even formal proof is a question of degree. The
question is not about the mathematical truth of the statement your are
making, but it is about whether your assumptions match the real world close
enough and whether your mathematical statement means what you think it does.
The latter is fairly easy if you've been in the area a while and know what
you're doing. The former (assumptions) is hard and will always remain hard.
In our case, we model the architecture of the ARM11 platform after ARM's RTL
description and their errata. We are able to test this model extensively by
deriving a hardware simulator from it and comparing it with real boards.
Of course, there is the possibility, that the manual described something
incorrectly, or that there are more unknown bugs in the hardware. Our
testing above could in find those, but as with all testing, this is chance
rather than proof.
There exists projects that are verifying hardware (in fact, Intel is doing
that routinely, as far as I know, not for the complete processor, but for
parts). The question there becomes: verify relative to what? Relative to a
VHDL description?. Could still have problems. Maybe relative to the
transistor level? How do you know all transistors work as advertised? Maybe
better go down to the quantum level? At some point (much earlier than the
quantum level) you will hit a point where it just doesn't make sense any more.
For our project, we think the C/assembler level is a good point to stop,
because that is something we can control, whereas we have no control over
the hardware.
There will never be absolute guarantees in the mathematical sense of
physical systems. Formal verification makes it clear what the assumptions
are and it's lightyears better than what you can achieve by testing.
Hope that clears things up ;-)
Cheers,
Gerwin
Torres wrote:
> Hi,
>
> About Gernot Heiser's paper "Your System is secure?, prove it!", I
> wonder: For a complete proven TCB, shouldn't there be FOUR refinement
> steps, the last one being proving the architecture under which the
> proven microkernel executes?,
>
> Kind regards,
>
> Jorge
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Developer mailing list
> Developer at okl4.org
> https://lists.okl4.org/mailman/listinfo/developer
More information about the Developer
mailing list