写在前面的话
本渣有幸成为南京大学软件学院研究生,在前往仙林校区蹭课的时候偶然发现了这门宝藏课程,听了以后感觉深有收获,但又因为课程难度较大,国庆假期归来发现遗忘较多,因此开了一坑来记录自己对每节课知识点的理解。也由于这是本人第一次开坑写博客,结构内容自有诸多不合理之处,希望有问题的地方大家可以指出。
彩蛋:这门课程在课表上名叫软件分析,但是实际上应该叫做静态程序分析,老师说这样起名主要是怕静态程序分析这个名字太高大上,吓到学生导致没人敢选。
系列文章目录
1.静态程序分析(Static Program Analysis)介绍
2.中间表示(Intermediate Representation)
3.数据流分析(Data Flow Analysis) (上):可达性分析(Reaching Definitions)
4.数据流分析Data Flow Analysis) (下):存活变量分析(Live Variables Analysis)及可用表达式分析(Available Expressions Analysis)
5.数据流分析基础(Data Flow Analysis-Foundations)
6.过程间分析(Interprocedural Analysis)
7.指针分析(Pointer Analysis)入门
8.指针分析基础知识(Pointer Analysis Foundations)
一、PL和Static Analysis
PL即Programming Languages,程序语言的统称。
2. 定义转换函数
3. 控制流运算

右图是左图的运算流展示,在不同情况下y会有值,而根据sound原则,在最后一步的y值只能是unknown。
六、总结
以上就是第一节课主要讲的内容了,本人水平有限,有的地方可能解释的不大清楚,如果有错漏之处,还望指正,谢谢你的观看!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!