Files
codeql/docs/language/learn-ql/index.rst

88 lines
2.4 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Learning QL
###########
`QL <https://semmle.com/ql>`__ is the query language used in Semmle's `variant analysis <https://semmle.com/variant-analysis>`__ engine.
You can use queries written in QL to explore code and quickly find variants of security vulnerabilities and bugs.
The QL language is also part of the technology behind `LGTM <https://lgtm.com>`__, Semmle's analysis platform that combines deep semantic code search with data science insights to help developers ship secure code.
QL queries are easy to write and sharevisit the topics below and `our open source repository on GitHub <https://github.com/Semmle/ql>`__ to learn more.
You can also try out QL in the `query console <https://lgtm.com/query>`__ on `LGTM.com <https://lgtm.com>`__.
Here, you can write QL code to query open source projects directly, without having to download snapshots and libraries.
.. _getting-started:
Getting started
***************
If you are new to QL, start by looking at the following topics:
.. toctree::
:maxdepth: 1
introduction-to-ql
about-ql
beginner/ql-tutorials
QL training and variant analysis examples
******************************************
To start learning how to use QL in variant analysis for a specific language, see:
.. toctree::
:maxdepth: -1
ql-training
.. _writing-ql-queries:
Writing QL queries
******************
To learn more about writing your own queries, see:
.. toctree::
:maxdepth: 3
:includehidden:
writing-queries/writing-queries
For more information on writing QL to query code written in a specific language see:
.. toctree::
:maxdepth: 2
:includehidden:
cpp/ql-for-cpp
csharp/ql-for-csharp
cobol/ql-for-cobol
java/ql-for-java
javascript/ql-for-javascript
python/ql-for-python
Advanced QL and technical information
*************************************
For more technical information see:
.. toctree::
:maxdepth: 2
:includehidden:
advanced/advanced-ql
technical-info
Reference topics
****************
For a more comprehensive guide to QL see the following reference topics:
- `QL language handbook <https://help.semmle.com/QL/ql-handbook/index.html>`__—a description of important concepts in QL
- `QL language specification <https://help.semmle.com/QL/QLLanguageSpecification.html>`__—a formal specification of the QL language.
Search
******
.. * :ref:`genindex` remove index for the time being as we currently have no tags
* :ref:`search`