项目简介
本项目实现了基于Python的静态单赋值(Static Single Assignment,SSA)形式的程序范围分析。其主要目标是对给定的SSA形式的C语言程序开展范围分析,从而了解程序中变量的取值范围。项目通过构建约束图(Constraint Graph)并运用基于“三步法”的算法,对变量和表达式的取值范围进行分析与计算。
项目的主要特性和功能
- 构建约束图:能够从SSA形式的程序构建控制流图(CFG)和约束图,以此表示程序的结构和约束。
- 三步法:采用三步法进行范围分析,涵盖Widen过程、Future Resolution和Narrow过程,逐步扩大和缩小变量的取值范围。
- 条件处理:考虑条件语句对变量取值范围的影响,并依据条件更新变量的取值范围。
- 输出范围:输出每个变量的取值范围,助力了解程序的运行行为。
安装使用步骤
- 本项目源码文件已下载到本地。
- 运行分析:使用Python运行
main.py
脚本,传入待分析的SSA文件路径作为参数。 - 查看结果:在控制台输出中查看每个变量的取值范围。
注意:本项目不依赖于外部库,只需Python环境即可运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】