正确性 (计算机科学)

✍ dations ◷ 2025-06-11 00:10:21 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 分裂情感性障碍分裂情感性障碍(Schizoaffective disorders),为一组分裂性和情感性症状同时存在并突出,但不能归类于某一类的(分裂性或情感性)精神障碍。在分裂症状时,伴随症状为幻觉、妄想及思维
  • 变种克雅二氏病变异型克-雅二氏病(Variant Creutzfeldt–Jakob disease,vCJD)是传染性海绵状脑病中的一种。 临床表现包括精神疾患、行为改变和感觉迟钝。 疾病的潜伏期仍不清楚,一般认为潜伏
  • 翠鸟翠鸟亚科 Alcedininae 翡翠亚科 Halcyoninae 鱼狗亚科 Cerylinae翠鸟是指佛法僧目下的一类体型中小、羽毛颜色艳丽的鸟类。它们具有世界分布(英语:cosmopolitan distribution)
  • 本溪市 (1949–1954)本溪直辖市,中华人民共和国已撤消的直辖市,范围包括今地级本溪市市区及本溪满族自治县。1949年时,中国大陆共设有12个直辖市,分别为:南京、上海、武汉(今武汉三镇)、鞍山、抚顺、沈
  • 2004年奥运会2004年夏季奥林匹克运动会的篮球比赛在两个场地举行,历时15天,从8月14日-8月28日进行。预赛和淘汰赛将在赫里尼科奥林匹克体育馆里举行,而四分之一决赛、半决赛和决赛的比赛将在
  • 马来西亚皇家海军马来西亚皇家海军(英语:Royal Malaysian Navy(RMN);马来语:Tentera Laut DiRaja Malaysia(TLDM))是马来西亚武装部队的海事作战部队,主要任务为保卫马来西亚海岸线、海域和专属经济区
  • 米亚尔科·普拉维·托多罗维奇米亚尔科·普拉维·托多罗维奇(塞尔维亚-克罗地亚语:;塞尔维亚语:Мијалко Тодоровић Плави;1913年9月25日-1999年3月3日),塞尔维亚族,是南斯拉夫的党和国家领导
  • 杉山佳寿子杉山佳寿子(日语:杉山 佳寿子,1947年4月9日-),日本资深女性配音员、舞台演员,大阪艺术大学教授(放送学科声优学系)。出身于爱知县名古屋市。身高153cm。AB型血。本名涩川佳寿子(日语:渋
  • 微带线微带线(英语:Microstrip)是一种传输线,可以做成印刷电路板上用来传输微波信号的线路。它由导线、地以及介质层组成。诸如天线、耦合器、滤波器、功率分配器等可由微带线构成。微
  • 澳式葡文澳式葡文或称澳门葡萄牙语(葡萄牙语: Português de Macau)是指以欧洲葡语为基础,加入了澳门自身特色的葡萄牙语词汇。澳式葡文与土生葡语不同,澳式葡文不是从多种语言的词语混合