# 静态程序分析简介与数据流分析

在简介中，将介绍：

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

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

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

**注：**~~**这一部分在B站上有相应的视频。**~~**&#x20;建议读者结合B站视频食用。**

(Update\@20220124 [完整的官方视频](https://www.bilibili.com/read/cv14416770)已发布，1至6课文稿更新。祝大家玩的愉快！)

1至6课对应的视频在这里：

* [第一课-课程简介](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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ranger-nju.gitbook.io/static-program-analysis-book/ch1/ch1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
