PM06Chap07程序正确性证明1(阅读).pptVIP

  • 10
  • 0
  • 约1.59万字
  • 约 62页
  • 2016-12-11 发布于重庆
  • 举报
第七章 程序正确性证明 1、概述 2、不变式断言法证明程序的部分正确性 3、良序集方法证明程序的终止性 4、Hoare公理学方法 7.1 概述 1. 基本概念 非形式化的程序验证是靠程序员阅读理解程序完成的。 程序测试是指测试者特意挑出一批输入数据,通过运行程序,检查每个输入数据所对应的运行结果是否符合预期要求。 Dijkstra说过“程序测试只能证明程序有错,不能说明程序正确”。 正确性证明是论证程序达到预期目的的一般性陈述,而该论证不与程序输入数据的特定值有关,但能够代表穷举性测试。 7.1 概述 2. 关于程序正确性证明的早期工作 1967年,Floyd提出用“断言法”证明框图程序的正确性 1969年,Hoare在Floyd的基础上,定义了一个小语言和一个逻辑系统。他的工作为公理学语义的研究奠定了基础。 1973年,Hoare和Wirth把PASCAL语言的大部分公理化。 1974年,人们利用模逻辑验证并行程序的正确性。 1975年一个基于公理和推导规则的自动验证系统首次出现。 1979年,出现了用公理化思想定义的程序设计语言Euclid。 1976年,Dijkstra提出了最弱前置谓词和谓词转换器的概念,用于进行程序的正确性证明和程序的形式化推导。 1980年,D.Gries综合了以谓词演算为基础的证明系统,称之为“程序设计科学”。首次把程序设计从经验、技术升华为科学。 形

文档评论(0)

1亿VIP精品文档

相关文档