# 北京大学 软件分析技术 ## 课程简介 - 所属大学:北京大学 - 先修要求:数据结构与算法,至少熟悉一门编程语言 - 编程语言:Java, Python - 课程难度:🌟🌟🌟🌟 - 预计学时:60 小时 软件分析技术是由北京大学熊英飞老师开设的一门课程,主要介绍了以下内容: 1. 基于抽象解释的程序分析(数据流分析、过程间分析、指针分析、抽象解释等) 2. 基于约束求解的程序分析(SAT、SMT、符号执行等) 3. 软件分析应用(程序合成、缺陷定位、缺陷修复等) 和南京大学的[软件分析课程](./NJU-SoftwareAnalysis.md)对比,这门课程的特点是讲了**更多更全面**的程序分析的理论与实践相关内容,难度也更大。这门课程我的主要的学习途径是听课,熊老师上课十分有趣,除了理论内容讲的很好偶尔也会讲一些学术相关的小段子:) 而本实验的的课程项目是实现一个Java上的指针分析系统和一个程序合成工具,也是十分有趣的实践。 ## 课程资源 - 课程网站:[主页](https://xiongyingfei.github.io/SA/2020/main.htm) 这是 2020 年的课程主页,在[熊老师的主页](https://xiongyingfei.github.io/)上可以找到更多年份的课程内容。 - 课程视频:[2020 燕云直播](https://liveclass.org.cn/cloudCourse/#/courseDetail/8mI06L2eRqk8GcsW) - 课程教材:无