mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
8c06a68835bc43be3d521b4fcb7317d34d8ec79a
The check that an instruction is in the same function as its operands is hopefully redundant and can be removed. Just to be sure, I've added the check to a sanity query. This check turned out to cause bad performance in the alias analysis because it got inlined into `AliasAnalysis::resultEscapes` and then pulled out to a loop-invariant predicate that got a bad join order. With this check removed, the `ssa/AliasAnalysis.qll` file is orders of magnitude faster.
Semmle QL
This open source repository contains the standard QL libraries and queries that power LGTM, and the other products that Semmle makes available to its customers worldwide.
How do I learn QL and run queries?
LGTM has extensive documentation on getting started with writing QL. You can use the interactive query console or the QL for Eclipse plugin to try out your queries on any open-source project that's currently being analyzed.
Contributing
We welcome contributions to our standard library and standard checks. Do you have an idea for a new check, or how to improve an existing query? Then please go ahead and open a pull request! Before you do, though, please take the time to read our contributing guidelines.
License
The LGTM queries are licensed under Apache License 2.0 by Semmle.
Languages
CodeQL
31.7%
Kotlin
27.1%
C#
16.4%
Java
7.5%
Python
4.5%
Other
12.6%