0%

南京大学软件分析课程学习笔记

南京大学软件分析课程学习笔记

QQ群:397745473

南京大学软件分析课程学习笔记

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
先是看到了朋友圈发出来的log4j2 的0day是如何被作者发现的 ( https://mp.weixin.qq.com/s/BhcW4WvvfZXKsrlVeChTrw )
然后 看到了 https://www.bilibili.com/read/cv14416770

课程: https://pascal-group.bitbucket.io/teaching.html
课程直播时间为每周三上午10点到12点,直播间地址: https://live.bilibili.com/21833876
统一回复关于南京大学《软件分析》课程的几个问题: https://www.bilibili.com/read/cv5322297


再就到了:
https://www.bilibili.com/video/BV1b7411K7P4 南京大学《软件分析》课程01(Introduction)
https://www.bilibili.com/video/BV1zE411s77Z 南京大学《软件分析》课程02(Intermediate Representation)
https://www.bilibili.com/video/BV1oE411K79d 南京大学《软件分析》课程03(Data Flow Analysis I)
https://www.bilibili.com/video/BV19741197zA 南京大学《软件分析》课程04(Data Flow Analysis II)
https://www.bilibili.com/video/BV1A741117it 南京大学《软件分析》课程05(Data Flow Analysis - Foundations I)
https://www.bilibili.com/video/BV1964y1M7nL 南京大学《软件分析》课程06(Data Flow Analysis - Foundations II)
https://www.bilibili.com/video/BV1GQ4y1T7zm 南京大学《软件分析》课程07(Interprocedural Analysis)
https://www.bilibili.com/video/BV1gg4y1z78p 南京大学《软件分析》课程08(Pointer Analysis)
https://www.bilibili.com/video/BV1NS4y1Q7UJ 南京大学《软件分析》课程09(Pointer Analysis - Foundations I)
https://www.bilibili.com/video/BV1fb4y1i7HY 南京大学《软件分析》课程10(Pointer Analysis - Foundations II)
https://www.bilibili.com/video/BV1wQ4y1v72e 南京大学《软件分析》课程11(Pointer Analysis - Context Sensitivity I)
https://www.bilibili.com/video/BV1aR4y1x7Zk 南京大学《软件分析》课程12(Pointer Analysis - Context Sensitivity II)
https://www.bilibili.com/video/BV1Fq4y1B74m 南京大学《软件分析》课程13(Static Analysis for Security)
https://www.bilibili.com/video/BV1wa411k7Uv 南京大学《软件分析》课程14(Datalog-Based Program Analysis)
https://www.bilibili.com/video/BV1gL411j7vS 南京大学《软件分析》课程15(CFL-Reachability and IFDS)
https://www.bilibili.com/video/BV1d3411s7tt 南京大学《软件分析》课程16(Soundness and Soundiness)

上完第一节课就被老周的讲课风格和知识点给吸引住了,停不下来. 认真学完课程,希望也能在软件分析中入个门.

南京大学《软件分析》课程01(Introduction)

1
2
南京大学《软件分析》课程01(Introduction)
课程地址: https://www.bilibili.com/video/BV1b7411K7P4

ExoticVanilla

大家好!我是南大的学生,目前正紧跟课程进度在Gitbook上撰写一份公开的教程,希望能够帮助到更多希望学习相关知识的人。

教程阅读地址是

https://ranger-nju.gitbook.io/static-program-analysis-book/

这是我第一次几乎独立地书写教程(目前有热心的同学也一起参与),会有很多做得不完善的地方,希望能够听到大家的意见和建议(联系方式在Github仓库的README中有哦)。

欢迎有意愿的参与者添加相关资料把这份教程越做越好!

当叮咚
会语法分析的同学好难找。
阿里云代码平台算法团队招聘代码分析技术同学,可以发简历给我zxd139922@alibaba-inc.com,让你上这门课有用武之地。

打个小广告,最近用语法分析提升了不少代码补全的准确率。最近我们开发了一个代码补全和示例搜索的IDEA插件,叫Alibaba Cloud AI Coding Assistant (Cosy),能够基于深度学习模型和语法分析提供长序列代码补全,还可以在本地IDEA快速搜索示例代码。

1
2
第一课作业:
x

南京大学《软件分析》课程02(Intermediate Representation)

1
2
3
南京大学《软件分析》课程02(Intermediate Representation)
课程地址: https://www.bilibili.com/video/BV1zE411s77Z
课件地址: https://pascal-group.bitbucket.io/lectures/IR.pdf

Bing-知乎

想了解llvm的,可以看看熊英飞老师的课件: https://xiongyingfei.github.io/SA/2017/main.htm

2020-03-06 17:5417回复

罗蓉就是罗蓉最新版 https://xiongyingfei.github.io/SA/2021/main.htm

Funny1dog:

推荐cs_6340 Static Program Analysis,如果大家需要,我可以把课件和视频传到网盘里,还有我找的其他资料

Funny1dog:

回复 @倒转的月时计 :链接:https://pan.baidu.com/s/1gAe97GqulDfG790qih6E8w 密码:vu1l

Funny1dog回复 @grimcake :还在上传到网盘,还有一个是youtube的https://www.youtube.com/watch?v=SIem8ZIe1xk&list=RDQMJWjiIE_BcbY&start_radio=1

Funny1dog回复 @倒转的月时计 :https://cs.au.dk/~amoeller/spa/

Funny1dog回复 @倒转的月时计 :https://www.cc.gatech.edu/~harrold/6340/cs6340_fall2009/Schedule/index.html

Funny1dog回复 @倒转的月时计 :http://rightingcode.org/lessons.html

程序分析国外教程:http://www.cs.cmu.edu/~aldrich/courses/15-819O-13sp/

b站的星: 程序分析国外教程:http://www.cs.cmu.edu/~aldrich/courses/15-819O-13sp/

我是小木鱼
Static Program Analysis
AndersMøllerandMichaelI.Schwartzbach
December16,2019

下载地址 https://cs.au.dk/~amoeller/spa/spa.pdf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
编译器和静态分析器的区别 
AST vs IR


Context-FreeGrammar

3AC
3地址码
变量 常量 临时变量
右侧最多只有一个操作符
Soot 作为java程序中最流行的静态分析器

Soot
Most popular static analysis framework for Java
https://github.com/Sable/soot/wiki/Tutorials
https://github.com/Sable/soot
Soot’s IR is Jimple: typed 3-address code


SSA

CFG 控制流图 control flow graph
小明家驿站建了个qq交流群:493323628

Basic Blocks(BB)

南京大学《软件分析》课程03(Data Flow Analysis I)

1
2
3
4
数据流分析
https://www.bilibili.com/video/BV1oE411K79d 南京大学《软件分析》课程03(Data Flow Analysis I)
https://pascal-group.bitbucket.io/lectures/DFA-AP.pdf

1
2
3
4
5
6
7
8
9
10
11
小乖他爹-知乎: 
收集了包括本门课程在内的接近40门课程,都是编译器和程序分析相关的,感兴趣的可以关注下:
https://github.com/shining1984/PL-Compiler-Resource

小炮萌狗:
可以在这里看我们去年的课件 https://pascal-group.bitbucket.io/courses/program-analysis-2020f/

上港上港势不可挡:
我用Rust实现了三个算法:
https://github.com/lengyijun/software-analysis
上港上港势不可挡: https://zhuanlan.zhihu.com/p/374421457

南京大学《软件分析》课程04(Data Flow Analysis II)

1
https://www.bilibili.com/video/BV19741197zA	南京大学《软件分析》课程04(Data Flow Analysis II)

QQ群:397745473

欢迎关注我的其它发布渠道