机器检查Java规范:证明类型安全
1 引言
在现代编程语言设计中,确保类型安全性是至关重要的。类型安全性意味着程序在编译时的类型信息能够在运行时保持一致,从而避免了许多潜在的错误。Java作为一种广泛应用的编程语言,其类型安全性一直备受关注。为了证明Java的类型安全性,我们采用了一种形式化方法,并通过机器检查来验证这一属性。
本章描述了对Java的一个子集(我们称之为JavaS)的类型健全性的机器检查证明。这项工作不仅补充和完善了Drossopoulou和Eisenbach提出的形式语义,还展示了在探索基于操作语义的大型和详细证明时形式化、机器检查的效用。
2 Java模型S的技术内容
2.1 模型概述
我们首先定义了Java的一个子集JavaS,并为其建立了形式化的操作语义。JavaS包括基本类型、具有继承的类、实例变量和实例方法、接口、实例变量的覆盖、动态方法绑定、静态可解析的方法重载、对象创建、空指针、数组以及对异常的最小处理。JavaS的定义如下:
特性 | 描述 |
---|---|
基本类型 | 包括布尔值、字符和数值类型 |
类 | 支持继承、实例变量和实例方法 |
接口 | 支持接口声明和实现 |
方法调用 </ |