控制流分析

✍ dations ◷ 2025-11-27 13:02:48 #程序分析

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

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

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

(lambda (f) (f x))

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

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

相关

  • 赤子婴儿是指刚出生的儿童,是人类一生的第一阶段。根据《说文解字》所述,婴儿的“婴”字,本意为女性的颈部饰物等宝贝,后引申解作为抱在胸前哺乳之初生儿。而婴儿的英文“infant”源
  • 欧几里得卫星欧几里得卫星(Euclid)是一个计划中的空间望远镜,该卫星预计于2020年发射,属于欧洲空间局的宇宙愿景2015-2025中的中型计划,并且将与美国国家航空航天局合作进行。该计划的目标是
  • 谢道昕谢道昕(?-),中国植物分子生物学家,清华大学生命科学学院教授,教育部长江学者特聘教授。2019年当选为中国科学院院士。1983年毕业于湖南农学院,获学士学位。1990年毕业于中国农业科学
  • 沙漠猫(F. margarita)沙漠猫(学名:Felis margarita)是种小型猫科动物,生活在非洲和亚洲的沙漠中。在饲养的情况下可生活13年。体长大约50厘米,尾长30厘米,成年平均体重大约在2.7公斤左右。头部很宽;耳大
  • TRPA1· 钙离子通道活动 · 嵌入质膜 · 响应冷感 · 响应刺激 瞬态电压感受器阳离子通道,子类A,成员1(简称TRPA1)是一种由人类基因所编码的一种蛋白(其它生物由Trpa1基因所编码)。
  • 许崇信 (马来西亚)许崇信(马来语:Ko Chung Sen,1968年-),马来西亚政治人物、医生,2013年起成为金宝国会议员。许崇信于1992年毕业于爱尔兰都柏林三一学院医学院,毕业后曾在都柏林、英国牛津和伦敦担任
  • 上滕山坐标:47°10′45″N 12°45′02″E / 47.17917°N 12.75056°E / 47.17917; 12.75056上滕山(德语:Hoher Tenn),是奥地利的山峰,位于该国北部,由萨尔兹堡州负责管辖,属于高地陶恩山脉
  • 徐华谦徐华谦是台湾电影演员、舞台剧演员、表演教师,高雄市人。毕业于国立台北艺术大学戏剧学系,主修表演、国立台北艺术大学剧场艺术研究所。2014年因在电影《废物》演出而为人熟识
  • 宝永大喷发宝永大喷发,是指日本最大的活火山富士山在宝永四年(1707年)的一次大规模喷发。此次喷发在富士山东南斜面新造成了一个寄生火山——宝永山。 这是江户时代富士山唯一一次大规模
  • 死锁死锁(英语:Deadlock),又译为死结,计算机科学名词。当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁。在多任务操作系统中,操作系统