正确性 (计算机科学)

✍ dations ◷ 2025-10-20 10:18:41 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 水疗水疗(hydrotherapy),为物理治疗的一种,利用水的各种物理特性,作用在人体以达到各种疗效。早在古希腊时代,西方医学之父希波克拉提斯(Hippocrates)就使用温泉做治疗,此外古代中国、日
  • 原小熊猫原小熊猫(学名:Proailurus),又名原猫或始猫,是一类史前的猫科动物,生存于2500万年前的欧洲。它们是现今猫科祖先。原小熊猫只较现今的家猫大少许,重约9公斤。它们的尾巴很长,有大眼
  • 有限应变理论有限应变理论(finite strain theory)也称为大应变理论或大形变理论,是连续介质力学中处理有较大应变或转动的形变,已不符合无限小应变理论假设下的理论。此情形下,物体在未形变的
  • 钹属中国民乐中的打击乐器,主要有大钹和小钹(镲),它们是由两个圆形的铜片(直径由15厘米到69厘米不等)互相撞击发声的。它通常与锣、鼓一起组成锣鼓队进行演奏。中国钹亦有在西洋音
  • 纪检监察局中国人民解放军军徽中央军委纪律检查委员会纪检监察局,位于北京市,是中央军委纪律检查委员会下属局,负责全军纪检监察工作。在深化国防和军队改革中,2016年1月,成立中央军委纪律
  • 阿什利国家森林阿什利国家森林(英语:Ashley National Forest)是美国的一处国家森林,1908年7月1日建立,位处犹他州东北部、怀俄明州西南部,占地面积约1,382,346英亩(5,594.16平方千米),最近的城市为
  • 大黑马羚大黑马羚(学名:),或称作安哥拉大貂羚,是黑马羚三个亚种中的其中一种,是安哥拉的特有亚种,仅在库安都河(Cuando River)流域繁殖生活。大黑马羚在安哥拉是一种崇高的动物,是这个国家的象
  • 国际佛教研究协会国际佛教研究协会(英语:International Association of Buddhist Studies,简称“ABS”),为1976年成立于美国威斯康辛州麦迪逊市的一个佛教研究学会。该协会主要任务是在促进和加强
  • 教宗斯德望五世教宗斯德望五世(拉丁语:Stephanus PP. V;?-891年)原名不详,于885年9月至891年9月14日岀任教宗。
  • 欧陆战争系列欧陆战争(英语:)是由游戏开发商苏州乐志(荷兰语:Easy Tech)开发的回合制策略游戏系列。苏州乐志于2011年起陆续发布欧陆战争系列游戏。欧陆战争系列游戏,是以欧洲作为主要战场的回