程序分析-原理和实践

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




今年秋天在UCSB旁听一门Program Analysis的课(课程主页:http://www.cs.ucsb.edu/~benh/cs290/),觉得Ben的课程风格很实在,从头到尾没有口水话,几乎是干货。回想之前对Program Analysis感兴趣却常常找不到合适的资料,而这个技术其实在很多方面都比较有用,因此想把这门课程记录下来的笔记陆续发出来,如果有朋友感觉有用,就没有白费一番介绍的力气了。

整个材料计划分两个部分:第一部分是文字内容,从课程材料转述Program Analysis的原理、基本算法。没什么高深的内容(common sense),但不留心或许体会不到;第二部分是实践,基于Clang+LLVM这个production quality的框架把这些算法实现。希望不仅能提供一些材料,也有一些代码供参考之用。

文字部分提纲如下,基本按照课程思路来:

1 引言

2 控制流分析

3 数据流分析

4 Sparse 分析

5 指针分析

6 过程间分析

7 基于类型和约束的分析(type or constraint based analysis)

事先说明:这个系列仅仅是对UCSB CS290C这门课程的山寨,理解不到位甚至错误的地方,恳请指正。课程网站上的原始材料更有价值,对于悟性好动手能力的强的同学,网站上的材料或许已经足够,此文系列权当狗尾续貂。不管如何,希望能对一些人有用。

存在的疑问:

本次系第一次在弯曲这个平台投文,不清楚其中的规矩,更不知道这个系列是否适合放在这里,麻烦编辑告知。如果可以的话,我最近会把已经写好的部分内容放上来。

(4个打分, 平均:4.50 / 5)

雁过留声

“程序分析-原理和实践”有10个回复

  1. James 于 2011-10-04 6:03 下午

    非常喜欢… 期待下面的文章

  2. Guoping 于 2011-10-04 7:34 下午

    尝试更新内容,但表格和图似乎很费劲,有好办法插入? Mac系统下面有不有其他的工具可以辅助编辑? 恳请懂的朋友告知。

  3. Guoping 于 2011-10-04 7:35 下午

    如能支持直接上传pdf就好了

  4. chenxu 于 2011-10-04 7:48 下午

    很好,很期待。好像是可以直接上传pdf的。

  5. kevint 于 2011-10-04 8:00 下午

    交给首席handle吧

  6. kernelchina 于 2011-10-04 8:54 下午

    Livewriter可以用,但是首席不开权限。弯曲的体验可以做得更好一点,比如速度可以更快一点。

  7. springrider 于 2011-10-05 5:31 上午

    非常喜欢! 期待!

  8. shenboy 于 2011-10-05 11:36 下午

    mark

  9. 2 于 2011-10-07 4:38 下午

    LGP?

  10. 叮当 于 2011-10-19 7:35 下午

    这个课俺找了好多年了,只在mit opencourse上见过。类流满面啊