控制流分析

✍ dations ◷ 2025-10-11 06:59:32 #程序分析

控制流分析(Control flow analysis)简称CFA,是一种确认程式控制流程的静态代码分析技术。控制流程会以控制流图(英语:control flow graph)来表示。对于函数编程语言及面向对象程式设计,CFA都是指计算控制流程的算法。

控制流分析一词最早是由Neil D. Jones及Olin Shivers开始使用。

对于像是Scheme之类有高阶函数的编程语言,不一定可以会程式中直接看出函数呼叫的目标,例如以下的程式片段

(lambda (f) (f x))

根据上述程式无法确认程序f是指什么,此情形下的控制流分析需考虑何时会执行此程式码,及当时的传入值。

抽象释义、约束补偿及型别系统都可以用来进行控制流分析。

相关

  • 脱发脱发,又称为脱发、掉发,指的是毛发从头部或是身体上掉落,一般来说至少会包含头发的脱落,其严重程度可以从一个小范围,乃至全身受影响。一般来说不会伴随发炎或出现疤痕。正常人的
  • 布拉维晶格布拉维晶格(又译布拉维点阵)(Bravais lattices) 在几何学以及晶体学中,只有14种可能。常见的布拉维晶格列于下表:每一个单位晶格的体积可以由
  • 埃德蒙·比尔奈基埃德蒙·法图斯廷·比尔奈基(Edmund Faustyn Biernacki,1866年12月19日-1911年12月29日),波兰内科医师 。比尔奈基生于奥波奇诺,为第一位发现红细胞沉降率与身体关系的人,因此在某
  • 台湾银行台湾银行总行大厦位于台湾台北市中正区重庆南路一段120号,为台湾银行总行所在地,同时列为台北市市定古迹保护。台湾银行于1899年在台北成立时,其总行大厦是红砖与斜顶之仿后期
  • 莫斯科时间莫斯科时间(俄语:моско́вское вре́мя)是俄罗斯莫斯科市、俄罗斯西部大部分地区包括圣彼得堡所采用的时区。是十一个俄罗斯时区中西端第二个。莫斯科时间自201
  • 满星叠满星叠村(英文:Ban Hin Taek,泰文:บ้านหินแตก),位于泰国北部清莱府,泰文意思是“石头爆裂的村庄”,对于泰国人而言,代表那是个酷热到连石头都被晒裂、不宜人居的地方。泰北
  • 天主教希奥利艾教区天主教希奥利艾教区(拉丁语:Dioecesis Siauliensis、立陶宛语:Šiaulių vyskupija)是罗马天主教在立陶宛的一个教区,属考那斯总教区。成立1997年5月28日。2004年有教友269,861人
  • 鲜黄连属鲜黄连属(学名:)是小檗科下的一个属,为多年生草本植物。该属共有2种,分布于北美和东亚。
  • 石门心学石门心学(せきもんしんがく)是日本江户时代中期的思想家石田梅岩(1685年 - 1744年)开祖的一个伦理学支派。这个派别吸收了宋明理学(特别是明朝时的心学)、禅宗与武士道,提出四民应
  • 杜尔祜杜尔祜(17世纪?-1655年),满洲爱新觉罗氏。清太祖努尔哈赤曾孙、广略贝勒褚英之孙、安平贝勒杜度长子。杜尔祜初封为辅国公。跟从太宗围攻松山、锦州有军功。其后因坐事,降袭镇国公