Skip to content

Commit

Permalink
Update lec8
Browse files Browse the repository at this point in the history
Update Lec9-10
  • Loading branch information
RangerNJU authored and LaplaceDem0n committed Dec 4, 2020
1 parent 90b8c4c commit 0d66046
Show file tree
Hide file tree
Showing 112 changed files with 986 additions and 452 deletions.
Binary file added .gitbook/assets/concurrentProgram (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/harmonyOS (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image-20201105183618529.png
Binary file added .gitbook/assets/image-20201105184327763.png
Binary file added .gitbook/assets/image-20201105184919660.png
Binary file added .gitbook/assets/image-20201105185230667.png
Binary file added .gitbook/assets/image-20201105185431196.png
Binary file added .gitbook/assets/image-20201105185630758.png
Binary file added .gitbook/assets/image-20201105185806532.png
Binary file added .gitbook/assets/image-20201105190333596.png
Binary file added .gitbook/assets/image-20201105190439805.png
Binary file added .gitbook/assets/image-20201105191248594.png
Binary file added .gitbook/assets/image-20201105191705757.png
Binary file added .gitbook/assets/image-20201105194030384.png
Binary file added .gitbook/assets/image-20201105194707507.png
Binary file added .gitbook/assets/image-20201105195029800.png
Binary file added .gitbook/assets/image-20201105195154527.png
Binary file added .gitbook/assets/image-20201105195524932.png
Binary file added .gitbook/assets/image-20201105195843958.png
Binary file added .gitbook/assets/image-20201105195943007.png
Binary file added .gitbook/assets/image-20201105200112512.png
Binary file added .gitbook/assets/image-20201105200123601.png
Binary file added .gitbook/assets/image-20201105200412145.png
Binary file added .gitbook/assets/image-20201105200815104.png
Binary file added .gitbook/assets/image-20201105201018655.png
Binary file added .gitbook/assets/image-20201105201421501.png
Binary file added .gitbook/assets/image-20201105201746860.png
Binary file added .gitbook/assets/image-20201105201939088.png
Binary file added .gitbook/assets/image-20201105202101633.png
Binary file added .gitbook/assets/image-20201105235312349.png
Binary file added .gitbook/assets/image-20201109140057119.png
Binary file added .gitbook/assets/image-20201109140605829.png
Binary file added .gitbook/assets/image-20201109154728420.png
Binary file added .gitbook/assets/image-20201109154844509.png
Binary file added .gitbook/assets/image-20201112191544354.png
Binary file added .gitbook/assets/image-20201112191630283.png
Binary file added .gitbook/assets/image-20201112193329365.png
Binary file added .gitbook/assets/image-20201112193357268.png
Binary file added .gitbook/assets/image-20201112194234928.png
Binary file added .gitbook/assets/image-20201112194358502.png
Binary file added .gitbook/assets/image-20201112194555582.png
Binary file added .gitbook/assets/image-20201112195502575.png
Binary file added .gitbook/assets/image-20201123205009821.png
Binary file added .gitbook/assets/image-20201126184745576.png
Binary file added .gitbook/assets/image-20201126185008506.png
Binary file added .gitbook/assets/image-20201126185233403.png
Binary file added .gitbook/assets/image-20201126191225969.png
Binary file added .gitbook/assets/image-20201126191650221.png
Binary file added .gitbook/assets/image-20201126194125039.png
Binary file added .gitbook/assets/image-20201126195311513.png
Binary file added .gitbook/assets/image-20201126195425756.png
Binary file added .gitbook/assets/image-20201126201000426.png
Binary file added .gitbook/assets/image-20201126221950557.png
Binary file added .gitbook/assets/image-20201126230831572.png
Binary file added .gitbook/assets/image-20201126231116221.png
Binary file added .gitbook/assets/image-20201126231403264.png
Binary file added .gitbook/assets/image-20201126231437769.png
Binary file added .gitbook/assets/image-20201126231722298.png
Binary file added .gitbook/assets/image-20201127170432941.png
Binary file modified .gitbook/assets/market.png
172 changes: 89 additions & 83 deletions README.md

Large diffs are not rendered by default.

15 changes: 8 additions & 7 deletions SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Table of contents

* [简介](README.md)
* [第零章-写在前面](ch0/README.md)
* [写在前面](ch0/README.md)
* [为什么是这本书?](ch0/00-01-why-this-book.md)
* [来源与版权信息](ch0/00-02-sources-and-license.md)
* [第一章-静态程序分析简介](ch1/README.md)
* [第二章-数据流分析——应用](ch2/README.md)
* [第三章-数据流分析——理论](ch3/README.md)
* [第四章-过程间分析](ch4/README.md)
* [过程间分析简介](ch4/04-01-inter-analysis-spa.md)
* [资料来源与版权信息](ch0/00-02-sources-and-license.md)
* [静态程序分析简介与数据流分析](ch1.md)
* [过程间分析](ch2/README.md)
* [过程间分析简介](ch2/02-01-inter-analysis-spa.md)
* [指针分析简介](ch2/02-02-pointer-analysis-spa.md)
* [指针分析理论一](ch2/02-03-pointer2-analysis-spa.md)
* [指针分析理论二](ch2/02-04-pointer3-analysis-spa.md)

27 changes: 19 additions & 8 deletions ch0/00-01-why-this-book.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

### 中文社区

在搜索引擎上搜索相关中文关键词,你会发现结果靠前的答案都是与某南的李老师相关的课程在B站上公开视频的笔记,其中有不少写得很好,**但并非面向一般学习者开发者的教程**。这两者有重要的区别:
在搜索引擎上搜索相关中文关键词,你会发现结果靠前的答案都是与南京大学相关课程在B站上公开视频的笔记,其中有不少写得很好,**但并非面向一般学习者开发者的教程**。这两者有重要的区别:

* 笔记:**面向自己复习**使用,只要自己回顾时能迅速pick up当时理解到的重点,就是一份好的笔记。
* 教程:**面向他人学习**使用,一份好教程能让学习者迅速把握领域中的重点,并且为学习者的进一步应用打下基础。
Expand All @@ -21,18 +21,29 @@

### 理论与实践的结合

本书将同时涉及理论和实践,这主要是受到了《The Rust Programming Language》的启发。
本书计划同时涉及理论和实践,这主要是受到了《The Rust Programming Language》的启发。由于老师的实验课程部分尚在设计中,预计会在理论课程结束后自主设计一些简单的实践任务与指南

### 本书写作的目标

能让大多数有一定编程经历,已经修过本科计算机相关基础课程的大四及以上同学:

1. 在阅读本书时能较为轻松地理解理论
2. 能够自主完成一个简单的程序实现
3. (任何人都)能在阅读过程中接触计算机不同领域的小知识
1. 在阅读本书时能**较为轻松地理解理论**
2. 能够**自主完成一个简单的程序实现**
3. (任何人都)能在阅读过程中接触**计算机不同领域的小知识**

## 为什么要写这本书?

* 最主要的动力还是老师现场授课时我感受到的passion
* 这是一个少有人涉足的领域,写这方面的内容很符合我的性格
* 我从开源社区中获益颇多,找到了合适的机会也希望能为开源社区(尤其是中文社区)作出自己的贡献
* **有趣且有用**
* 有趣。首先非常**感谢**[**李老师**](https://yuelee.bitbucket.io/)****[**谭老师**](https://silverbullettt.bitbucket.io/)的精心准备和深入浅出的精彩课程 :\)
* 有用。这门课的**理论内容已经被工业界实践**用于回答一个现代软件领域的重要问题:

> ​ ❓ 如何自动化地高效保证软件质量
* **少有人涉足**
* 其他领域**已经**有很多优秀前辈**完成了重要的工作**
* 这一领域暂时还**不为大多数人所知**
* 完善这方面的公开资料**能够帮助到很多人**
* **知识没有界限**
* 无论是[自学日语](https://www.douban.com/group/topic/139681153/),还是各大世界名校的公开课,我都受益颇多。世界已经如此不平等,**知识不应该有界限**
* **回馈开源社区**
* 我从开源社区中获益颇多,找到了合适的机会也希望能为开源社区(尤其是中文社区)作出自己的贡献

5 changes: 3 additions & 2 deletions ch0/00-02-sources-and-license.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# 来源与版权信息
# 资料来源与版权信息

## 资料来源

本入门教程主要内容基于南京大学《软件分析》课程。

[PASCAL研究组主页](https://pascal-group.bitbucket.io/teaching.html)
[PASCAL研究组主页上的公开课件](https://pascal-group.bitbucket.io/teaching.html)

## 版权信息

教程文字部分遵循CC BY-NC-SA许可协议。

图片部分若无特殊说明则出自课程资料,使用已获作者同意。其他材料会注明出处,侵删。

5 changes: 3 additions & 2 deletions ch0/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# 第零章简介
# 写在前面

记录一些你在继续阅读之前可能需要了解的信息。

如果这是你第一次了解“静态程序分析”,你应该先查看[Github上的简介](https://github.com/RangerNJU/Static-Program-Analysis-Book)
如果这是你第一次了解“静态程序分析”,你应该先查看[Github上的简介](https://github.com/RangerNJU/Static-Program-Analysis-Book)

25 changes: 25 additions & 0 deletions ch1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 静态程序分析简介与数据流分析

在简介中,将介绍:

* 什么是静态程序分析(下简称为静态分析)?
* 如何设计一个实用的静态程序分析器?

然后将用较长的篇幅介绍静态分析的一个常见应用——数据流分析。

* 首先介绍数据流分析的应用,让学习者有直观感受
* 然后从理论上深入讲解数据流分析背后的逻辑

**注:这一部分在B站上有相应的视频。在作者腾出时间整理文稿之前,建议读者先到B站观看相应的视频。对应的文字部分暂时移出本仓库。**

对应的视频在这里:

* [第一课-课程简介](https://www.bilibili.com/video/BV1b7411K7P4?from=search&seid=9629980298568702440)
* [第二课-中间表示\(IR\)](https://www.bilibili.com/video/BV1zE411s77Z)
* [第三课-数据流分析一](https://www.bilibili.com/video/BV1oE411K79d)
* [第四课-数据流分析二](https://www.bilibili.com/video/BV19741197zA)
* [第五课-数据流分析理论一](https://www.bilibili.com/video/BV1A741117it)
* [第六课-数据流分析理论二](https://www.bilibili.com/video/BV1964y1M7nL)

[这里](https://ranger-nju.gitbook.io/static-program-analysis-book/ch4)直接跳转到施工完毕区域。

Empty file removed ch1/01-01-whats-spa.md
Empty file.
Empty file removed ch1/01-02-ir.md
Empty file.
13 changes: 0 additions & 13 deletions ch1/README.md

This file was deleted.

4 changes: 0 additions & 4 deletions ch2/02-00-dataflow-analysis.md

This file was deleted.

Loading

0 comments on commit 0d66046

Please sign in to comment.