Semgrep: Lightweight static analysis for many languages
I work on Semgrep; there are a bunch of examples at https://semgrep.live if you're curious about what the syntax looks like.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 (http://coccinelle.lip6.fr/sp.php)