A Proof Score Approach to Formal Verification of an Imperative Programming Language Compiler

被引:0
作者
Daudier, Dorian [1 ]
Trinh Ngoc Quoc Bao [2 ]
Ogata, Kazuhiro [3 ]
机构
[1] ISAE ENSMA, Chasseneuil, France
[2] VienthongA, Ho Chi Minh City, Vietnam
[3] JAIST, Nomi, Japan
来源
STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD, SOFL+MSVL 2017 | 2018年 / 10795卷
关键词
Algebraic specification; CafeOBJ; Compiler; Formal verification; Proof score; Theorem proving;
D O I
10.1007/978-3-319-90104-6_13
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
An interpreter for an imperative programming language called Minila has been formally specified in CafeOBJ, an executable specification language, and so have a virtually machine (VM) and a compiler. The compiler transforms a Minila program into an instruction sequence processed by the VM. Since the formal specifications are executable, it is doable to test if for any concrete terminating program p the result of interpreting p is the same as the one of processing by the VM the instruction sequence generated from p by the compiler, where the result is an environment, a variable-value pair collection. The equivalence is called the Minila compiler correctness with respect to p. In addition to test, properties of CafeOBJ specifications can be theorem proved by writing what are called proof scores in CafeOBJ and executing them with CafeOBJ. The Minila compiler correctness for all terminating programs in Minila has been theorem proved.
引用
收藏
页码:200 / 217
页数:18
相关论文
共 20 条
[1]  
Bao N. Q. T., 2011, THESIS
[2]  
Bogdanas D, 2015, ACM SIGPLAN NOTICES, V50, P445, DOI [10.1145/2775051.2676982, 10.1145/2676726.2676982]
[3]  
Bryant B.R., 2000, APPL COMPUTING 2000, V2, P756
[4]  
Clavel M., 2007, ALL MAUDE A HIGH PER, DOI [10.1007/978-3-540-71999-1, DOI 10.1007/978-3-540-71999-1]
[5]  
Daudier D., 2017, TECHNICAL REPORT
[6]  
Diaconescu R., 1996, AMAST SERIES COMPUTI, V6
[7]  
Diaconescu R., 2011, J UNIVERS COMPUT SCI, V6, P74
[8]  
FUTATSUGI K, 1985, P 12 ACM SIGACT SIGP, V12, P52, DOI DOI 10.1145/318593.318610
[9]  
Futatsugi K, 2012, INTRO SPECIFICATION
[10]   A hidden agenda [J].
Goguen, J ;
Malcolm, G .
THEORETICAL COMPUTER SCIENCE, 2000, 245 (01) :55-101