![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
静态代码扫描
文章平均质量分 81
喜欢冒险的松鼠
专业研究方向:静态代码扫描、移动app动态化方案
展开
-
从lombok到UAST – 浅谈Android Lint的AST Parser(1)
从lombok到UAST – 浅谈Android Lint的AST解析引擎(1)自从ADT 16第一次引入Android Lint(以下简称:Lint)以来,Lint便成为Android平台上最重要的静态代码扫描工具。与早期基于XPath的静态扫描工具不同,Lint基于AST(Abstract Syntax Tree)进行分析,可以用来定制很复杂的扫描规则。关于Lint的介绍,网上已有很多文章可参考原创 2017-03-31 21:30:33 · 3099 阅读 · 0 评论 -
从lombok到UAST – 浅谈Android Lint的AST Parser(2)
《从lombok到UAST – 浅谈Android Lint的AST Parser(1)》1.3、内存占用过大lombok-ast的第三个大问题是内存占用。由于现在的Lint只能从gradle里运行,当运行gradle lint时,如果Android项目较大,时常会在扫描中出现OOM。而且项目规模越大,出现OOM的可能性越高。不少人基于自己过往的经验,认为是gradle造成的,毕竟gradle也是个原创 2017-04-01 15:13:38 · 1314 阅读 · 0 评论 -
如何用clang analyzer定制静态分析规则(1)工程配置篇
OS X、iOS开发都很熟悉clang,这个编译器前端支持C、C++、Objective-C、Objective-C++,是Mac世界里最主要的编译工具。 clang static analyzer(以下简称clang analyzer)是基于clang开发的官方静态代码分析工具,用于在编译阶段提前发现代码问题,具体信息请见官方网站:https://clang-analyzer.llvm.org/原创 2017-04-18 08:14:02 · 3998 阅读 · 0 评论 -
如何用clang analyzer定制静态分析规则(2)创建定制规则库篇
如何用clang analyzer定制静态分析规则(2)创建定制规则库篇在上一篇《工程配置篇》里,我们已经了解了如何下载llvm和clang的源码,如何生成Xcode工程并完成编译,现在就开始定制自己的静态分析规则。 首先要明确的两点,一是clang自己的build target基本是静态链接的,但我们要做的是独立发布、独立加载的规则库,必须做成动态链接。二是开发静态分析规则,完全依赖clang提原创 2017-04-21 17:27:06 · 1329 阅读 · 0 评论