正确性 (计算机科学)

✍ dations ◷ 2025-04-03 09:07:36 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 787,789Template:DorsopathiesTemplate:Disorders of subcutaneous fat Template:Osteochondropathy Template:Acquired deformities
  • 颚(英语:Jaw),在解剖学中,指在嘴部入口处相对的铰接式结构,最常见的用途是用来进食与咀嚼食物。在大多数的动物身上,都拥有这个解剖结构。在人体解剖学中,又称颌,指嘴部的上下骨骼与
  • 兰利兰利(langley,缩写为Ly),是测量太阳辐射强度的国际通用计量单位,1947年设立,为纪念美国物理学家塞缪尔·兰利而得名。1兰利=1卡路里/1平方厘米,如果换算为国际单位制中的“焦耳/平
  • 漂白粉漂白剂是一些化学物品,可透过氧化还原反应将有色分子反应成无色分子,来将颜色去除或变淡以达至漂白物品的功用。漂白剂依据其在漂白过程发生的氧化还原反应所担任的角色来区分
  • 钢筋混凝土钢筋混凝土(英语:Reinforced Concrete,Ferroconcrete,RC),工程上常简称为钢筋砼或钢混,是指通过在混凝土中加入钢筋、钢筋网、钢板或纤维而构成的一种组合材料,两者共同工作从而改善
  • font color=white国家卫生城市/font国家卫生城市是由中华人民共和国全国爱国卫生运动委员会办公室(国家卫生健康委员会疾病预防控制局)考核组验收鉴定,而评选出的卫生优秀城市。截至2019年2月,全国爱卫会已经命名3
  • 黄大城新竹高中黄大城(1954年12月19日-2008年11月24日),台湾歌手,曾和王梦麟、赵树海组成MIB三重唱,毕业于新竹高中、国立政治大学民族社会学系,毕业后在民航局上班。1978年,以云南民谣弥
  • 精氨基琥珀酸裂解酶精氨基琥珀酸裂解酶(英语:Argininosuccinate lyase,简称ASL),或称精氨酸琥珀酸裂解酶是一种将精氨基琥珀酸分裂成精氨酸及延胡索酸的酶(EC4.3.2.1)。它负责尿素循环中的第4个步骤。
  • 9K333柳树便携式防空导弹9K333“柳树”(英语:9K333 Verba;俄语:9К333 «Верба»;以下简称为“柳树”)是一具由俄罗斯科洛姆纳机械设计局(英语:KB Mashinostroyeniya)所研制及生产的第四代便携式红外寻
  • 数字音频无线电卫星数字音频无线电卫星(英文:Digital Audio Radio Satellite,简称:DARS),DRAS是一种运用卫星进行无线电广播的服务,而有许多业者提供这种服务,这种服务也被人称为卫星数字电音频无线服