正确性 (计算机科学)

✍ dations ◷ 2025-11-22 13:35:18 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 卡尔·威曼卡尔·埃德温·威曼(英语:Carl Edwin Wieman,1951年2月26日-),出生于俄勒冈州科瓦利斯),美国物理学家,威曼、沃尔夫冈·克特勒与埃里克·康奈尔,因“在碱金属原子稀释气体中(制成)玻色-
  • 法国交通法国是世界上交通网最发达的国家之一,平均每100平方公里的国土就有和146公里长的公路和6.2公里长的铁路。法国的交通网是以巴黎为中心构建的。在古罗马时期,法国已有大规模交
  • 绿洲绿洲(英语:Oasis)是一个地理名词,是指被沙漠地形包围的环境里、一块有植被覆盖的孤立肥沃地区。通常会造成绿洲的原因都是因为此地点有终年不断的水源供应,常见的水源来源是地下
  • 木贼植物亚纲见内文木贼亚纲(学名:Equisetopsidae),又名楔叶纲或楔叶蕨纲(Sphenopsida),是链束植物之下的一个亚纲。
  • 构图构图(英语:Composition)是在视觉艺术中常用的技巧和术语。特别是绘画、平面设计与摄影中经常用到构图这个字。一个好的构图,可以将平凡的东西变得无与伦比,突出主题;相反,一个不好
  • 鲱属鲱属(学名:Clupea)是生活在北太平洋和北大西洋(包括波罗的海)温带浅水中的一个多油的鱼属。这个属有两个种:大西洋鲱和太平洋鲱。这两个种又可以各分数个亚种。鲱鱼是成群的鱼,它们
  • 棕枝主日棕枝主日(英语:Palm Sunday),公教称圣枝主日,亦称棕树主日或基督苦难主日(因主耶稣基督在本周被出卖、审判,最后被处十字架死刑),正教称柳绒节,是主复活日前的主日,标志着圣周的开始,为
  • 长益常城际铁路长益常城际铁路是目前在中国湖南省境内规划建设的一条城际铁路线,是长株潭城市群城际铁路网的重要组成部分。改线设计总长168.7公里,为上下行双线客运专线,目标时速200公里上,全
  • 负阻抗变换器负阻抗变换器(negative impedance converter,NIC)是单埠运算放大器电路,有负阻抗特性,会将能量加到电路中,和一般负载消耗能量的情形恰好相反。负阻抗变换器的实现方式是量测一个
  • 方海洋方海洋(1964年-),男,山东龙口人,汉族。1986年参加工作,1984年加入中国共产党,研究生学历,博士学位。曾任大连经济技术开发区管委会副主任、辽宁省对外贸易经济合作厅副厅长、党委常委