forked from PKUFlyingPig/cs-self-learning
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[COURSE] Add PKU Software Analysis (PKUFlyingPig#520)
- Loading branch information
Showing
3 changed files
with
51 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# PKU Software Analysis | ||
|
||
## Descriptions | ||
|
||
- Offered by: Peking University | ||
- Prerequisite: Data Structures and Algorithms, familiar with at least one programming language | ||
- Programming Languages: Java, Python | ||
- Difficulty: 🌟🌟🌟🌟 | ||
- Learning Hours: 60 hours | ||
|
||
Software Analysis is a course offered by Prof. Yingfei Xiong from Peking University. The course mainly covers the following topics: | ||
|
||
1. Program analysis based on abstract interpretation (data flow analysis, inter-procedural analysis, pointer analysis, abstract interpretation, etc.) | ||
2. Program analysis based on constraint solving (SAT, SMT, symbolic execution, etc.) | ||
3. Software analysis applications (program synthesis, bug localization, bug repair, etc.) | ||
|
||
Compared with the [Software Analysis course of Nanjing University](./NJU-SoftwareAnalysis.en.md), this course covers **more comprehensive** theoretical and practical content of program analysis, and is more difficult. My main way of learning this course is to listen to the course. Prof. Xiong's lectures are very interesting. In addition to the theoretical content, he occasionally tells some academic related stories :) | ||
|
||
The course project of this experiment is to implement a pointer analysis system on Java and a program synthesis tool, which is also a very interesting practice. | ||
|
||
## Resources | ||
|
||
- Course Website: [Homepage](https://xiongyingfei.github.io/SA/2020/main.htm) This is the course homepage of 2020. More course content can be found on [Prof. Xiong's homepage](https://xiongyingfei.github.io/). | ||
- Course Video: [2020](https://liveclass.org.cn/cloudCourse/#/courseDetail/8mI06L2eRqk8GcsW) | ||
- Course Textbook: None |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# 北京大学 软件分析技术 | ||
|
||
## 课程简介 | ||
|
||
- 所属大学:北京大学 | ||
- 先修要求:数据结构与算法,至少熟悉一门编程语言 | ||
- 编程语言: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) | ||
- 课程教材:无 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters