跳转至

# 北京大学 软件分析技术

## 课程简介

- 所属大学：北京大学
- 先修要求：数据结构与算法，至少熟悉一门编程语言
- 编程语言：Java, Python
- 课程难度：🌟🌟🌟🌟
- 预计学时：60 小时

软件分析技术是由北京大学熊英飞老师开设的一门课程，主要介绍了以下内容：

1. 基于抽象解释的程序分析（数据流分析、过程间分析、指针分析、抽象解释等）
2. 基于约束求解的程序分析（SAT、SMT、符号执行等）
3. 软件分析应用（程序合成、缺陷定位、缺陷修复等）

和南京大学的软件分析课程对比，这门课程的特点是讲了更多更全面的程序分析的理论与实践相关内容，难度也更大。这门课程我的主要的学习途径是听课，熊老师上课十分有趣，除了理论内容讲的很好偶尔也会讲一些学术相关的小段子:)

而本实验的的课程项目是实现一个Java上的指针分析系统和一个程序合成工具，也是十分有趣的实践。

## 课程资源

- 课程网站：主页 这是 2020 年的课程主页，在熊老师的主页上可以找到更多年份的课程内容。
- 课程视频：2020 燕云直播
- 课程教材：无

2023-10-12