A Formally Verified Interpreter for a Shell-like Programming Language
Claude March´ e Nicolas Jeannerod Ralf Treinen VSTTE, July 22, 2017
Nicolas Jeannerod VSTTE’17 July 22, 2017 1 / 36
A Formally Verified Interpreter for a Shell-like Programming - - PowerPoint PPT Presentation
A Formally Verified Interpreter for a Shell-like Programming Language Claude March e Nicolas Jeannerod Ralf Treinen VSTTE, July 22, 2017 Nicolas Jeannerod VSTTE17 July 22, 2017 1 / 36 General goal The CoLiS project. Correctness
Nicolas Jeannerod VSTTE’17 July 22, 2017 1 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 2 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 2 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 2 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 3 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 3 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 3 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 3 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 3 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 3 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 4 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 5 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 6 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 6 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 6 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 6 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 7 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 7 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 8 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 9 / 36
Language CoLiS
Nicolas Jeannerod VSTTE’17 July 22, 2017 9 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 10 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 11 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 11 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 11 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 11 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 11 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 11 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 12 / 36
Language Mechanised version
Nicolas Jeannerod VSTTE’17 July 22, 2017 13 / 36
Sound and complete interpreter Let us see some code
Nicolas Jeannerod VSTTE’17 July 22, 2017 14 / 36
Sound and complete interpreter Let us see some code
Nicolas Jeannerod VSTTE’17 July 22, 2017 15 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 16 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 17 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 18 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 18 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 19 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 19 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 19 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 19 / 36
Sound and complete interpreter Soundness
Nicolas Jeannerod VSTTE’17 July 22, 2017 19 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 20 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 21 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 22 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 23 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 23 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 23 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 23 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 24 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 25 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 25 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 25 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 25 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 25 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 26 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 26 / 36
Sound and complete interpreter Completeness
Nicolas Jeannerod VSTTE’17 July 22, 2017 26 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 27 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 28 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 28 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 28 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 28 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 28 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 29 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 29 / 36
Sound and complete interpreter Looking for a variant...
Nicolas Jeannerod VSTTE’17 July 22, 2017 29 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 30 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 31 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 31 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 31 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 32 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 33 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 34 / 36
Sound and complete interpreter Skeletons
Nicolas Jeannerod VSTTE’17 July 22, 2017 35 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 36 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 36 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 37 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 37 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 38 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 39 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 40 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 41 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 41 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 42 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 43 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 43 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 44 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 44 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 44 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 45 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 45 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 46 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 46 / 36
Nicolas Jeannerod VSTTE’17 July 22, 2017 46 / 36