6、面向 Java 程序的形式化技术与面向对象软件开发方法自动化

面向 Java 程序的形式化技术与面向对象软件开发方法自动化

一、Java 程序形式化技术相关研究
  1. 脆弱基类问题分析
    • 问题提出 :当有一个正确的基类和一个正确的派生类,对基类进行修改后,基类仍然正确,但派生类可能不再正确,这就是脆弱基类问题。基类开发者可能不清楚派生类的存在,难以确保派生类的正确性,这反映了基类规范的弱点。
    • 解决方案 :Kees Huizing 和 Ruurd Kuiper 提出“合作契约”规范形式和“强化行为子类型”概念。强化行为子类型要求从基类继承的非私有方法(在派生类中未被重写)必须保留派生类可能更强的不变式。开发者可使用基类源代码进行证明,也可重写基类方法。“合作契约”允许方法的后置条件引用其调用的其他方法的后置条件,基类开发者可通过这种方式为未来派生类做规划。
  2. 顺序 Java 的精化演算
    • 精化演算概念 :精化演算是用于系统开发正确程序的形式化方法,包括算法精化和数据精化。数据精化是用不同的数据结构和方法替换原有的。
    • 研究内容 :Cavalcanti 和 Naumann 将精化演算思想扩展到类,允许用另一个实现替换类的实现。精化步骤需通过前向模拟关系证明正确性,该关系将原(抽象)类的状态与替换(具体)类的状态关联起来。研究中有两个意外发现:一是前向模拟必须是满射的;二是如果语言有天使变量,
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值