控制流分析

✍ dations ◷ 2025-04-26 21:57:58 #程序分析

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

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

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

(lambda (f) (f x))

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

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

相关

  • 持久自由军事行动持久自由行动(英语:Operation Enduring Freedom)是美国及其盟国所组成的联军,自2001年起开始执行、一连串针对基地组织和对该组织进行庇护的阿富汗塔利班政权所采取之军事行动的
  • 萨瓦省萨瓦省(法文:Savoie)是法国奥弗涅-罗讷-阿尔卑斯大区所辖的省份。该省编号为73。为历史上萨伏依的一部分。5个海外省及大区
  • 米歇尔·沙勒米歇尔·沙勒(法语:Michel Chasles,1793年11月15日-1880年12月18日),也译作夏莱,法国数学家。他是巴黎艾菲尔铁塔上所列“七十二贤”之一,曾获科普利奖章。沙勒曾在帝国中学读书,1812
  • 白雪公主与七个小矮人《白雪公主与七个小矮人》(英语:Snow White and the Seven Dwarfs)发行于1937年,是迪士尼首部经典动画长片,也是美国电影史上第一部彩色动画长片,改编自欧洲《格林童话》故事版本
  • 自由、安全与正义的领域本文是 欧洲联盟的政治与政府 系列条目之一“自由、安全与正义的领域”(英语:Area of freedom, security and justice;德语:Raum der Freiheit, der Sicherheit und des Rechts)
  • 泰州 (北魏)北魏延和元年(432年)置,治蒲坂县(今山西永济市西南蒲州镇)。辖境相当今山西省万荣、临猗、永济等县市地。太和中省。东魏天平初复置。北周明帝二年(558年)改为蒲州。
  • 始兴话始兴话,或称始兴客家话,是汉语族客家语的一种方言,主要分布在广东省韶关市始兴县。根据1987年版和2012年版的《中国语言地图集》,始兴话被归类为粤北片。始兴县境内几乎全为客家
  • Aztec码Aztec码(英语:Aztec Code)也称阿兹特克码,是一种由Andrew Longacre, Jr.(英语:Andrew Longacre, Jr.)和Robert Hussey于1995年发明的二维码。该种条码1997年由AIM公司(英语:Associati
  • 克钦独立组织克钦独立组织(缅甸语:ကချင်လွတ်လပ်ရေး အဖွဲ့ချုပ်,英语:Kachin Independence Organisation,简称KIO)是缅甸的一个克钦族(景颇族)政治组织,在1960年代至90年
  • 童瑞童瑞(1455年-1528年),字世奇,四川嘉定州犍为县人,军籍,明朝政治人物,弘治庚戌进士,授给事中。嘉靖间累官至工部尚书。弘治三年(1490年)登庚戌科进士。授给事中。历浙江左参议、陕西左参