正确性 (计算机科学)

✍ dations ◷ 2025-11-23 08:14:57 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 分裂生殖分裂(英语:Fission),又叫裂殖,在生物学中是指一个细胞(或身体、种群或物种)分为两个或多个部分,以及这些部分再生为细胞(身体、种群或物种)。通常是单细胞生物所形的生殖方式。该种生
  • 亚马尔-涅涅茨自治区亚马尔-涅涅茨自治区(俄语:Ямало-Ненецкий автономный округ,罗马化:Yamalo-Nenetsky avtonomny okrug;涅涅茨语:Ямалы-Ненёцие авт
  • 亚氯酸盐亚氯酸盐是亚氯酸形成的盐类,含有亚氯酸根离子—ClO2−,其中氯的氧化态为+3。氯具有多变的氧化态,−1、+1、+3、+5和+7氧化态的简单或含氧酸根阴离子分别为:Cl−、ClO−、ClO2−
  • 周毓麟周毓麟(1923年2月12日-),生于上海,原籍浙江镇海,中国计算数学家、力学家,中国科学院院士。生于上海,原籍浙江省镇海庄市。1945年,毕业于上海大同大学数学系。1946年,任中央研究院数学
  • 黄胸鼠黄胸鼠(学名:Rattus flavipectus)为鼠科家鼠属的动物。在中国大陆,分布于江西、广西、陕西、贵州、安徽、云南、甘肃、湖南、河南、海南、四川、江苏、广东、福建、浙江、湖北等
  • 合议性团体合议性团体(deliberative assembly)是一种要求成员以议事程序进行讨论的组织。1774年,前英国下议院议员埃德蒙·伯克在布里斯托向选民发表演讲时,首次称呼英国国会为合议性团体
  • 公共卫生博士公共卫生博士(英文简称DPH或DrPH),是在公共卫生或健康科学领域授予的博士学位。根据研究领域的不同,公共卫生博士学位获得者可能是流行病学,人口科学,生物统计学,医疗政策,卫生法,
  • 皇帝会战 法国 英国 美国 1915年1916年1917年1918年皇帝会战(德语:Kaiserschlacht),又称作鲁登道夫攻势(英语:Ludendorff Offensive)或春季攻势(德语:Frühjahrsoffensive),是第一次世界大战由
  • 托马斯·因斯托马斯·因斯(英语:Thomas Harper Ince,1880年11月6日-1924年11月19日)是美国的一位无声电影演员、导演、编剧和制作人。有“西部片之父”之称。他编剧的影片The Italian和导演的
  • 湛江电台经济频道湛江人民广播电台经济频道(频率:FM95.1,原频率为98.1,2011年8月8日起更改为95.1),是湛江人民广播电台的频道之一。原为湛江人民广播电台交通音乐之声。2011年1月17日改名“湛江人