Discovering Critical Vulnerabilities Affecting Macs, iPhones, and iPads
semmle.com
semmle.com
https://news.ycombinator.com/item?id=18349942
Note that Kevin himself did not claim he had managed to get code execution from this vulnerability, but rather that he'd just verified heap corruption. (In terms of evaluating the vulnerability, yes, you should assume kernel heap corruption is morally equivalent to RCE. In terms of evaluating bragging rights, which is what this Semmle post seems to be about, the difference is pretty large.)
clang-query might be conceptually similar (and open source), but QL has some sort of graph database captured at compile time that is extremely fast to query. QL's DSL may also be more intuitive and/or sophisticated than clang's, but I haven't used either in a while.
Unless they've extended it since, QL does not actually simulate execution, so it cannot find some of the same bug patterns that other analyzers can.
Dataflow analysis is a form of execution simulation that estimates the flow of control and data from one part of the program to another. Of course, there are many forms of simulation, and they vary in accuracy and the expense of computing them.
[1]: https://lgtm.com/blog/apple_xnu_icmp_error_CVE-2018-4407
Does anyone have good recommendation for static analyzer focused on security specially. Any that really works for java code?