Semgrep: Lightweight static analysis for many languages
I work on Semgrep; there are a bunch of examples at <a href="https://semgrep.live" rel="nofollow">https://semgrep.live</a> if you're curious about what the syntax looks like.<p>For context, Semgrep started as a Facebook open-source project inspired from a Inria project named Coccinelle, which has has made a couple thousand or so automatic patches to the Linux kernel over the years using a semantic patch language (<a href="http://coccinelle.lip6.fr/sp.php" rel="nofollow">http://coccinelle.lip6.fr/sp.php</a>)