A hands-on introduction to static code analysis
It's good to see discussions of static analysis, but I often feel that these blog posts do a disservice to the techniques. The post leads by mentioning applications like bugfinding and security vuln detection but the examples here are barely above local syntactic checks. This is the common scenario in the majority of blog posts I see about static analysis, probably because it is just much easier to put together a quick write up on AST-linting. Heck, this article has a diagram that directly states that an AST is the input to a static analysis module, but that is true only for some kinds of things!<p>AST level analysis is certainly useful. Everybody should be using some sort of style checker. But AST pattern matching is a <i>completely</i> different technique from the stuff used to do bugfinding that I worry that these blog posts will give the wrong impression about what static analysis can do and what it can't do.<p>I'd love to see blog posts about interprocedural pointer analysis, for example.