- 博客(2)
- 收藏
- 关注
原创 南京大学《软件分析》笔记第二节
变量:如a,b常量:如3编译器自动生成的临时变量:如t1t2范例如下:将 t2 = a + b + 3转换成三地址码(3AC):t1 = a + b静态单赋值(SSA)也是一种经典的IR,普通三地址码与静态单赋值形式最主要的区别就是SSA给每个变量都赋值一次,不会出现变量的重复赋值,每个变量都有一个定义。三地址码最终是在控制流图(CFG)上进行分析,通常要构建控制流图进行控制流分析。CFG作为静态分析的基础架构。CFG中的节点既可以是单个的3AC,也可以是Basic Blocks(BB)。
2024-08-17 06:24:11 1021
原创 南京大学《软件分析》课程第一节
静态分析是在程序运行前分析其是否满足某些性质。如(并不存在方法都满足):PP是否存在私有信息泄露?P是否存在空指针引用异常?所有的变量都初始化了吗?所有的类型转换操作符是安全的吗?变量v1和v2是否指向相同的内存地址?程序P中的断言语句assert 会失败吗?程序P中是否存在死代码(可以被移除)?其他等等问题。
2024-08-16 03:08:07 817
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人