[SystemSafety] Critical systems Linux

Olwen Morgan olwen at phaedsys.com
Thu Nov 22 11:47:44 CET 2018


On 21/11/2018 14:14, Tom Ferrell wrote:
<snip>
> This qualification is based on the fact that KCG is built on a formal 
> language, LUSTRE. The proofs accomplished to demonstrate the model to 
> code conversion have been looked at repeatedly and found to be 
> complete and correct in all cases that I am aware of.

<snip>

Forgot to say this before:

There is, of course, a massive problem with the proof, namely that the 
target language C does not have formal semantics. Therefore, even if 
there are explicit formal semantics for models, there is no formal basis 
on which generated C can, strictly speaking, be proven to give correct 
implementations of them. OK, you can get round this, as the proof 
unavoidably must, by using assumed semantics, explicit or otherwise. 
Then, however, you are left with the problem of what happens if your 
compiler does not handle C in the way that the assumed semantics say it 
does. Already on this list, I have posted small C programs that 
demonstrate the awkward problem that, with only a few exceptions, C does 
not prescribe an order of evaluation for the operands of operators and 
that they can differ for the same compiler in two different source code 
contexts in the same program.

One approach to this issue is to use an ultra-strict language subset and 
proven compiler, such as the CompCert C compiler - but even that still 
leaves room for problems as regards traceability to the language 
standard. To be utterly pedantic, you cannot yet avoid having faith in 
your compiler that cannot fully be justified.

Incidentally, you're in the same boat with other languages whose 
compilers are implemented by translating their source code to C. AFAI 
recall, the Ada compiler in the GNAT tool set falls into this category.

Olwen



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.techfak.uni-bielefeld.de/mailman/private/systemsafety/attachments/20181122/93866bee/attachment-0001.html>


More information about the systemsafety mailing list