关于编译器和静态分析的一些课程

Posted snsn1984

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于编译器和静态分析的一些课程相关的知识,希望对你有一定的参考价值。

陆陆续续收集了一些课程,主要是编译器和静态分析方面的,在这里分享给大家,也给自己做个资料存档。

国外的一些课程:

1、Stanford编译器课程系列

CS143:CS143: Compilers

CS243:CS243 - Advanced Compilers

CS343:CS 343

这个系列课程,共有三门课。其中,CS143讲的是编译器的基础知识;CS142讲的是程序分析和优化技术,龙书的作者Monica Lam是这门课的Instructor;CS143则是聚焦近些年的编译器领域的最新研究成果,将课程的中心放到阅读和讨论相关论文上了。

另外,https://www.bilibili.com/video/av18939632 这个公开课据说是CS143课程的简化版本。

2、宾大编译器课程

CIS341:CIS 341 Spring 2020

这属于基本编译器课程,主要分为:词法/语法分析、代码生成、语义分析、优化和运行时支持几个方面。

3、Fernando先生的静态程序分析课程

DCC888:https://homepages.dcc.ufmg.br/~fernando/classes/dcc888/

这门课程主要是针对静态程序分析,对静态程序分析以及对应的优化技术介绍的很全面,并且PPT内容很详细,引用资料也非常全。同时,该课程还有一部分LLVM相关的课程内容。

4、奥尔胡斯大学(丹麦)静态程序分析课程

SPA: Static Program Analysis

这门课程把对应的教材也放出来了,对于静态分析的基本内容也都覆盖了,很多内容还被DCC888课程选作参考。虽然覆盖内容不一定有DCC888全面,但是因为有教材,所以对于覆盖的内容,比较成体系。

5、莱斯大学的编译器构造课程

COMP412:https://www.clear.rice.edu/comp412/

6、萨克拉门托州大学的编译器构造课程

CSC 151: Compiler Construction:英字【编译原理】Compiler Construction, Sacramento State CSC 151 (Shobaki)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

7、UIUC的编译器课程

CS426:https://courses.engr.illinois.edu/cs426/fa2019/

CS526:新的CS526还没开课(https://courses.engr.illinois.edu/cs526/sp2020/

历史课程:http://polaris.cs.uiuc.edu/~padua/cs526/

————————————————————————————

国内一些大学的课程:

1、国防科技大学编译原理

国防科技大学-编译原理(国家级精品课)高清流畅_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

2、哈尔滨工业大学大编译原理

编译原理——哈尔滨工业大学(MOOC 国家级精品课)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

3、东南大学编译原理

编译原理 东南大学 廖力 全64讲_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

4、西安交大编译原理

【西安交大】编译原理 全56讲 冯博琴_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

5、中国科学技术大学陈意云教授《编译原理和技术》

中科院陈意云编译原理_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

6、南京大学静态程序分析课程(连载中)

第一次课:南京大学《软件分析》课程01(Introduction)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

第二次课:南京大学《软件分析》课程02(Intermediate Representation)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

 

————————————————————————————————

业界的一些课程:

1、燧原科技的编译优化课程(连载中):

(1)【编译器课程】Enflame编译优化培训(基于DCC888) 第一课 编译器简介+从源码到运行_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

(2)【编译器课程】Enflame编译优化培训(基于DCC888) 第二课 BB+CFG+Local_optimization_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

(3)【编译器课程】Enflame编译优化培训(基于DCC888) 第三课 数据流分析(DFA) 1 - Liveness + AE_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

(4)【编译器课程】Enflame编译优化培训(基于DCC888) 第四课 数据流分析(DFA) 2 - VeryBusyExpression + RD_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

(5)【编译器课程】Enflame编译优化培训(基于DCC888) 第五课 数据流分析的算法 - WorkList_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

这个课程是基于上面提到的DCC888课程开设的,多数时间讲解DCC888的PPT,核心也是程序分析和优化。

2、中科院软件所PLCT实验室和HelloGCC/HelloLLVM联合推出的编译技术入门与实战课程(连载中)

方舟·编译技术入门与实战(编译原理+开源项目)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

这个课程既包含理论部分,也包含了相当比重的实战部分,所以和大学里的编译课程不太相同。同时,在侧重点上也和大学编译原理课程不同,后端的比重要大一些。

 

——————————————————————

后续相关课程的更新都放到了repo里,欢迎大家star。

以上是关于关于编译器和静态分析的一些课程的主要内容,如果未能解决你的问题,请参考以下文章

方舟编译器学习笔记14 DriverRunner源码分析

安卓用户的福音——华为方舟编译器分析!

华为官宣方舟编译器8月31日开源;华为Mate 30系列机或取消预装谷歌服务

让安卓性能提升60%,华为方舟编译器正式开源

方舟编译器学习笔记67 clang-tidy的检查规则解析

华为方舟编译器:支持 C 语言编译新功能开源