Abstract

A totally verified system consists of a meaning preserving compiler and hardware that correctly interprets the resulting machine code. This paper describes work in progress towards this goal using MiniSML, a small functional language, and the SECD machine. A functional language was used to facilitate software proofs, and the SECD machine was chosen as it was the best documented machine when we began this work. This paper outlines a (hand) proof of the correctness of a translator from MiniSML to SECD machine code and a mechanised HOL proof of the hardware which realises the abstract SECD machine. To achieve a totally verified system, further work is required to mechanise the translator proof and tie it directly to the machine proof, and to recognise the constraints of the machine (i.e. memory capacity) at the software level.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call