正确性 (计算机科学)

✍ dations ◷ 2025-11-24 05:59:30 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 婴儿婴儿是指刚出生的儿童,是人类一生的第一阶段。根据《说文解字》所述,婴儿的“婴”字本意为女性的颈部饰物,后引申解作为抱在胸前哺乳之初生儿。而婴儿的英文“infant”源于拉丁
  • 轮班工作制轮班工作制(英文:Shift work),是一些行业须在假日、晚上、周末和朝九晚五以外等非主流上班时间运作及提供服务时实施的工作制度,例如服务业、公共事业、医药业(英语:Health profess
  • 生物芯片生物芯片(英语:biochip)是运用分子生物学、基因资讯、分析化学等原理进行设计,以硅晶圆、玻璃或高分子为基材,配合微机电自动化、或其他精密加工技术,所制作之高科技元件,有如半导
  • 阿尔瓦罗·穆蒂斯阿尔瓦罗·穆蒂斯·哈拉米约(西班牙语:Álvaro Mutis Jaramillo,1923年8月25日-2013年9月22日),哥伦比亚诗人、小说家、散文家。著有小说集《瞭望员马克洛尔的道路和遭遇》等。穆
  • ɨ̞次闭央不圆唇元音(near-close central unrounded vowel、near-high central unrounded vowel)是一个用在某些口语上的元音。在国际音标中,这个音可以用数种方法来表现(见右表),但
  • 洛学洛学,又称“伊洛之学”,为北宋时期河南洛阳人程颢、程颐兄弟(二程)建立的学派,以程颐的思想为主。学术上,程颢主张“明心见性”,重视“气”,为学“力行”,影响了陆九渊。程颐主张“格
  • 太乙救苦天尊太乙救苦天尊,通称东极青华上帝,简称太乙天尊、救苦天尊、青玄上帝,是道教尊神,又称寻声救苦天尊、十方救苦天尊等,道教经典记太乙天尊居“东方长乐世界”妙严宫(“严”或作“岩”
  • 美国恐怖故事:凶宅美国恐怖故事:凶宅(原文为),系由FX电视网所上映的《美国恐怖故事》影集系列之第一季,美国当地播出时间为2011年10月5日至2011年12月21日,共12集。本季由20世纪福斯电视公司制作,由
  • 户田忠盈户田忠盈(日语:戸田忠盈/とだ ただみつ ,1730年7月16日-1781年9月16日)是日本江户时代中期大名,历任下野宇都宫藩(日语:宇都宮藩)第3代藩主和肥前岛原藩初代藩主,宇都宫藩户田氏第6代
  • 多米尼克·韦斯特多米尼克·韦斯特 (英语:Dominic West,1969年10月15日-),英国演员。他因其在《火线》中饰演的警探吉米·麦克纳提而出名。韦斯特生于一个爱尔兰天主教家庭,其父为乔治·韦斯特(Georg