Close the abstract
8. Theoretical Computer Science, Operations Research and Optimization

Specification, implementation and verification of an image format in Dafny

Ştefan Ciobâcă
Alexandru Ioan Cuza University, Iaşi, Romania

Abstract:

Dafny is a verification-oriented programming language, based on deductive verification. It can be used to specify and verify imperative computations. Programming software systems in Dafny increases our level of trust in their correctness, which is desirable for critical systems, such as system software. However, specifying, implementing and verifying software in Dafny can be orders of magnitude more difficult than using a traditional programming language, because of the additional burden of specifying and proving the system. Furthermore, there are comparatively fewer educational resources and less know-how for structuring such verified software. In this talk, I will show how Dafny can be used to specify a recently devised image format based on run-length encoding, and how to implement and verify the corresponding encoding/decoding algorithm. I will go over the various design options for structuring the verification effort. I will explain what is the best structure, which enables a more straight forward verification process.