这里的《静态程序分析》跟别处的有什么不同?
1. 当前,中英文社区都缺乏这一领域的入门材料。
2. 本书将试图通过理论和实践的结合介绍这一领域。
在搜索引擎上搜索相关中文关键词,你会发现结果靠前的答案都是与某南的李老师相关的课程在B站上公开视频的笔记,其中有不少写得很好,但并非面向一般学习者开发者的教程。这两者有重要的区别:
- 笔记:面向自己复习使用,只要自己回顾时能迅速pick up当时理解到的重点,就是一份好的笔记。
- 教程:面向他人学习使用,一份好教程能让学习者迅速把握领域中的重点,并且为学习者的进一步应用打下基础。
在搜索引擎上搜索英文关键词,你应该能搜索到国际上的大牛们的教材式的PDF文件和相关论文,或是开源的静态分析程序。但同样缺乏教程。大多数材料要么艰涩难懂要么太过粗浅。根据粗略的访问与调查,目前业界中主要还是大型的、国际化的、有前瞻视野的企业重视这一技术的发展应用,而中小企业则对其并不了解或认为静态程序分析技术仍不成熟。
本书将同时涉及理论和实践,这主要是受到了《The Rust Programming Language》的启发。
能让大多数有一定编程经历,已经修过本科计算机相关基础课程的大四及以上同学:
- 在阅读本书时能较为轻松地理解理论
- 能够自主完成一个简单的程序实现
- (任何人都)能在阅读过程中接触计算机不同领域的小知识
- 最主要的动力还是老师现场授课时我感受到的passion
- 这是一个少有人涉足的领域,写这方面的内容很符合我的性格
- 我从开源社区中获益颇多,找到了合适的机会也希望能为开源社区(尤其是中文社区)作出自己的贡献