| 摘要: |
| 提出一种虚拟机构造和验证方案.给出字节码程序运行环境BVM(bytecode virtual machine)的形式化定义;采用X86机器语言构造虚拟机CertVM(certified virtual machine);并证明该虚拟机实现符合相应程序规范并和BVM之间具有模拟关系.利用辅助工具Coq给出证明,所有证明均可机器自动检查.CertVM确保在硬件环境满足其语义规范的情况下,已验证的字节码程序能够在给定虚拟机环境中正常运行.给出的方案不仅为虚拟机验证提供理论基础,而且为可信软件构造提供了一种有益的尝试. |
| 关键词: 已验证虚拟机 模块化验证 字节码 类Hoare逻辑 |
| DOI: |
| 分类号: |
| 基金项目:Supported by the National Natural Science Foundation of China under Grant Nos.90818019, 90816006 (国家自然科学基金); the National High-Tech Research and Development Plan of China under Grant Nos.2008AA01Z102, 2009AA011902 (国家高技术研究发展计划(863)) |
|
| Construction and Certification of a Bytecode Virtual Machine |
|
DONG Yuan,REN Kai,WANG Sheng-Yuan,ZHANG Su-Qin
|
| Abstract: |
| This paper presents a method to build and verify bytecode virtual machine. The formal definition and the operational semantics of a bytecode virtual machine (BVM) are given. CertVM (certified virtual machine) is implemented with X86 assembly code. It is proved in this paper that the CertVM is satisfied with the formal definition of the bytecode machine with simulation relation. The virtual machine implementation program is certified in the Coq proof assistant. The proof is machine checkable. This method guarantees that a certified bytecode program will run on the certified virtual machine without stuck unless hardware faults. This work does not only provide a solid theoretical foundation for reasoning about virtual machine, but also makes an important advance toward building the trustworthy software. |
| Key words: certified VM modular certification bytecode Hoare-style logic |