正确性 (计算机科学)

✍ dations ◷ 2025-11-29 04:09:33 #理论计算机科学

在理论计算机科学中,算法的正确性(英语:correctness)是指一个算法在程序规范下被认定为正确的判定。其中,正确(英语:functional correctness)针对输入输出的行为(例如:对每一个输入,算法都能给出预期的输出)。

人们将正确性分为两类。一类被称为部分正确性(英语:partial correctness),它要求在算法返回结果时这一结果是正确的;另一类被称为完全正确性(英语:total correctness),它在部分正确性的基础之上还要求算法必须能够结束。由于对于停机问题没有通用的解决方案,因此判定完全正确性的断言有着更多需要深层次研究的地方。终止的证明是指一类数学证明,因为完全正确性需要证明一个算法会终止,所以它在程序的形式验证中起着至关重要的作用。

例如考虑这样一个问题:依次搜索整数列1, 2, 3, …来看是否存在某个特定现象——比如说存在一个奇数为完全数。对于这个问题而言,我们很容易写出一个部分正确的程序(直接对于每个数字做长除法判定其是否完全)。然而如果我们想证明这个程序是完全正确的,那就相当于我们在断言一个在数论里目前还未知的结论。

在算法和程序规范都是基于形式化来给出时,对正确性的证明应当为一个数学证明。然而我们并不期待能够给出特定机器上实现的特定程序的正确性断言,因为那样将需要考虑诸如内存限制在内的更多问题。

证明论中有一个结论柯里-霍华德同构。这一结论认为:任意一个在构造性逻辑下的功能正确性的证明都对应了一个λ演算程序。这种转换证明的方式被称为(英文:program extraction)。

霍尔逻辑是一个具体的能够严密验证程序正确性的形式系统。它用一系列的公理来定义程序语言的语义,从而通过称之为霍尔三元组的断言来验证程序的正确性。

软件测试是指验证一个程序或系统的某些属性或能力来判断它是否达到预期目的的行为。尽管软件测试在软件质量方面起着至关重要的作用,并且被程序员和测试员们广泛采用,但由于人们对软件的认识十分有限,它仍旧是一个艰深的领域。软件测试的最大难点在于如何控制其复杂性:我们没有办法在一个合理的复杂度内完整地测试一个程序。测试不只是调试。测试的目的包括但不限于确保软件质量、验证其正确性和估算其稳定性。我们对测试的定义也可以更加一般化,其中正确性测试和稳定性测试是两个最大的研究领域。软件测试是预算、时间和软件质量的一个平衡。

相关

  • 发酵工程发酵工程是指采用现代工程技术手段,利用微生物的某些特定功能,为人类生产有用的产品,或直接把微生物应用于工业生产过程的一种技术。发酵工程的内容包括菌种选育、培养基的配置
  • 对映体对映异构体(英语:Enantiomer (/ɪˈnæntiəmər, ɛ-, -tioʊ-/ ə-NAN-tee-ə-mər)),又称对掌异构物、光学异构物、镜像异构物或旋光异构体,不能与彼此立体异构体镜像完全重叠
  • 悬崖悬崖是角度垂直或接近角度垂直的暴露岩石,是一种被侵蚀、风化的地形。悬崖常见于海岸、河岸、山区及断崖(escarpment)里,瀑布的支流常常流经。悬崖的地质多属火成岩(例如花岗岩及
  • 移动进动(precession)是自转物体之自转轴又绕着另一轴旋转的现象,又可称作旋进。在天文学上,又称为“岁差现象”。常见的例子为陀螺。当其自转轴的轴线不再呈铅直时,即自转轴与对称轴
  • 约瑟夫森布赖恩·约瑟夫森(英语:Brian Josephson,1940年1月4日-),英国物理学家,犹太人,生于威尔士卡地夫。在22岁,尚是一个博士生时,他就提出约瑟夫森结这一概念,并凭此赢得1973年诺贝尔物理学
  • 安养安养市(朝鲜语:안양시/安養市 Anyang si */?)是韩国京畿道一个特定市(朝鲜语:특정시),位处于韩国首都首尔及京畿道首府水原市之间。环绕安养市的行政区划从首尔开始顺时针方向分别
  • 冂部冂部,就汉字索引来说,是为部首之一,康熙字典214个部首中的第十三个(两划的则为第七个)。冂部归于二划部首,通常是从上方或下方为部,且无其他部首可用者将部首归为冂部。坰的本字,即
  • 2009, Year Of Us《2009, Year of Us》是韩国男孩组合SHINee在2009年10月19日公布的第三张迷你专辑,其实体锁售于2009年10月22日开始。其中歌曲《Ring Ding Dong》和《Jo Jo》为宣传单曲。唱
  • 沃拉普克语沃拉普克语(Volapük)是第一个较为成功的人造语言,是世界语的先驱。1880年,由德国巴伐利亚牧师约翰·马丁·施莱尔创造。形态学上它是粘着语型的,但变格很多,动词形式很复杂,语法和
  • 罗津港站罗津港站(朝鲜语:라진항역/羅津港驛  */?)是朝鲜民主主义人民共和国罗先特别市的一个铁路车站,属于罗津港线。罗津港线