正确性 (计算机科学)

✍ dations ◷ 2025-11-26 03:25:22 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 热成像仪热影像仪又称热像仪或红外线热成像仪等。是一种对物体散发出的红外线进行感光成像的设备,这种设备被广泛运用在军事、消防、医疗、工业生产、海关检查等领域。热成像仪是从对
  • 波特罗德尼·罗伯特·波特(英语:Rodney Robert Porter,1917年10月8日-1985年9月7日),英国生物化学家,出生于兰开夏郡牛顿勒威洛斯(英语:Newton-le-Willows)。由于对抗体化学结构的研究,而于
  • 性别重置疗法性别重置疗法(英语:Sex reassignment therapy)是性别转换的医学层面,也就是说,修改自己的性别特征以更好地符合自己的性别认同。它可以包括激素替代疗法(HRT)以改变继发第二性征,性
  • 北极海北冰洋(英语:Arctic Ocean)又称北极海、北大洋,北极洋,位于北极圈内,大致以北极点为中心。北冰洋是世界五大洋中最小最浅的。面积1405.6万平方公里,约占世界大洋面积的3.6%。平均深
  • 关键期假说关键期假设(英文:critical period hypothesis)是一个长期存在争论的假说,关于人是否存在一个语言学习的关键年龄段。 该假说一般认为,存在一个理想时期更容易受语言环境影响从而
  • 宽限期宽限期(英语:grace period)是在义务期限过后紧接的一段时期。在此期限内,只要在宽限期内履行了义务,就可以免除由于未能按时完成任务而应采取的滞纳金或其他进一步行动。宽限期可
  • .ye.ye为也门国家及地区顶级域(ccTLD)的域名。此外还拥有阿拉伯语顶级域名اليمن.‎。.ye有8个二级域名:A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .a
  • 沈璿沈璿(1899年11月15日-1983年11月30日,拼音:Shěn Xuán),字义舫,中国数学家,国立台湾大学史上第2位理学院院长兼数学系主任,历经罗宗洛、陆志鸿、庄长恭、杜聪明、傅斯年校长。原籍江
  • 8号警报《8号警报》(英语:)是一部2019年加拿大科幻电影,由杰夫·陈(Jeff Chan)创作执导、克里斯·帕雷(Chris Paré)撰写剧本,本片是根据2016年同名短片(英语:Code 8 (2016 film))的长篇电影。
  • 椰果椰果又称椰子凝胶,椰果属于微生物的发酵产物,是木质醋酸菌在液态培养基中生长所形成的代谢产物。培养基可采用椰汁但工业化量产因成本因素已不采用。此多糖类经分离纯化后可加