正确性 (计算机科学)

✍ dations ◷ 2025-12-08 03:49:46 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 世界人口日世界人口日(英语:World Population Day),源于1987年7月11日世界50亿人口日。现在每年的7月11日为世界人口日。1987年7月11日,在前南斯拉夫出生了一位婴儿,联合国将其象征性地认定
  • 反密码子转运核糖核酸(Transfer RNA),又称传送核糖核酸、转移核糖核酸,通常简称为tRNA,是一种由76-90个核苷酸所组成的RNA,其3'端可以在氨酰-tRNA合成酶催化之下,接附特定种类的氨基酸。转
  • 赛诺非-安万特公司赛诺菲(法语:Sanofi)总部位于法国巴黎,是世界上第五大的制药企业。赛诺菲致力于医药产品的研究、开发、生产以及销售,产品主要覆盖七个领域:心血管疾病,血栓形成,肿瘤学,糖尿病,中枢神
  • 房总半岛房总半岛是位于日本关东地方东南部的半岛,东侧与南侧邻太平洋,西濒东京湾,北与本州的关东平原相接,占千叶县的大部分辖区。其名称来自日本律令制中的安房、上总与下总等3个令制
  • 达拉斯飞马达拉斯飞马(英语:Dallas Wings)是一支位于美国德克萨斯州阿灵顿的WNBA(国家女子篮球联盟)篮球队。为土尔沙震动之后继球队。达拉斯飞马之创始球队为底特律震动,成立于1998年,之后在
  • 匹诺曹蜥蜴匹诺曹蜥蜴(英文名:Pinocchio lizard或Pinocchio anole,学名:)是一种小蜥蜴,安乐蜥属安乐蜥科。仅在南美洲厄瓜多尔境内小镇Mindo附近发现过。雄性蜥蜴有长鼻子,因此叫匹诺曹蜥蜴,鼻
  • 穆杰塔巴·哈梅内伊赛义德穆杰塔巴·胡塞尼·哈梅内伊(波斯语:سید مجتبی حسینی خامنه‌ای‎;1969年9月8日-),伊朗什叶派神职人物、军事人物。他是现任伊朗最高领袖阿里·哈梅内
  • .gh.gh为加纳国家及地区顶级域(ccTLD)的域名。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az  B .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .
  • 保罗·林克 (作曲家)卡尔·埃米尔·保罗·林克(德语:Carl Emil Paul Lincke,1866年11月7日-1946年9月4日),德国作曲家、剧作家。他被认为是柏林轻歌剧之父,其在柏林人心中的地位相当于小约翰·施特劳斯
  • 毛利胜永毛利胜永(1577年-1615年6月4日)是安土桃山时代至江户时代初期的武将。丰臣氏家臣。父亲是毛利胜信。本姓是森氏。在史料中,没有出现过胜永的名讳。发给文书全部都以吉政为署名,而