Skip to content

Commit 46140c3

Browse files
authored
Merge pull request github#3440 from jf205/sd-68-2
CodeQL docs: more updates to "Further reading" sections
2 parents 29eed68 + 7f95296 commit 46140c3

13 files changed

+30
-42
lines changed

docs/language/learn-ql/beginner/catch-the-fire-starter.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,4 @@ You have found the two fire starters! They are arrested and the villagers are on
147147
Further reading
148148
---------------
149149

150-
- Find out who will be the new ruler of the village in the :doc:`next tutorial <crown-the-rightful-heir>`.
151-
- Learn more about predicates and classes in the `QL language reference <https://help.semmle.com/QL/ql-handbook/index.html>`__.
152-
- Explore the libraries that help you get data about code in :doc:`Learning CodeQL <../../index>`.
150+
.. include:: ../../reusables/codeql-ref-tools-further-reading.rst

docs/language/learn-ql/beginner/cross-the-river.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,4 +262,9 @@ Here are some more example queries that solve the river crossing puzzle:
262262
#. This query introduces `algebraic datatypes <https://help.semmle.com/QL/ql-handbook/types.html#algebraic-datatypes>`__
263263
to model the situation, instead of defining everything as a subclass of ``string``.
264264

265-
➤ `See solution in the query console on LGTM.com <https://lgtm.com/query/7260748307619718263/>`__
265+
➤ `See solution in the query console on LGTM.com <https://lgtm.com/query/7260748307619718263/>`__
266+
267+
Further reading
268+
---------------
269+
270+
.. include:: ../../reusables/codeql-ref-tools-further-reading.rst

docs/language/learn-ql/beginner/crown-the-rightful-heir.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,4 @@ You could also try writing more of your own QL queries to find interesting facts
161161
Further reading
162162
---------------
163163

164-
- Learn more about recursion in the `QL language reference <https://help.semmle.com/QL/ql-handbook/index.html>`__.
165-
- Put your QL skills to the test and solve the :doc:`River crossing puzzle <cross-the-river>`.
166-
- Start using QL to analyze projects. See :doc:`Learning CodeQL <../../index>` for a summary of the available languages and resources.
164+
.. include:: ../../reusables/codeql-ref-tools-further-reading.rst

docs/language/learn-ql/beginner/find-the-thief.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,4 @@ Have you found the thief?
292292
Further reading
293293
---------------
294294

295-
- Help the villagers track down another criminal in the :doc:`next tutorial <catch-the-fire-starter>`.
296-
- Find out more about the concepts you discovered in this tutorial in the `QL language reference <https://help.semmle.com/QL/ql-handbook/index.html>`__.
297-
- Explore the libraries that help you get data about code in :doc:`Learning CodeQL <../../index>`.
295+
.. include:: ../../reusables/codeql-ref-tools-further-reading.rst

docs/language/learn-ql/intro-to-data-flow.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,7 @@ However, since ``y`` is derived from ``x``, it is influenced by the untrusted or
7979
In QL, taint tracking extends data flow analysis by including steps in which the data values are not necessarily preserved, but the potentially insecure object is still propagated.
8080
These flow steps are modeled in the taint-tracking library using predicates that hold if taint is propagated between nodes.
8181

82-
What next?
83-
**********
82+
Further reading
83+
***************
8484

85-
- Search for ``DataFlow`` and ``TaintTracking`` in the `standard CodeQL libraries <https://help.semmle.com/QL/ql-libraries.html>`__ to learn more about the technical implementation of data flow analysis for specific programming languages.
86-
- Visit `Learning CodeQL <https://help.semmle.com/QL/learn-ql/>`__ to find language-specific tutorials on data flow and other topics.
85+
- `Exploring data flow with path queries <https://help.semmle.com/codeql/codeql-for-vscode/procedures/exploring-paths.html>`__

docs/language/learn-ql/locations.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,8 @@ The ``toString()`` predicate
115115
----------------------------
116116

117117
All classes except those that extend primitive types, must provide a ``string toString()`` member predicate. The query compiler will complain if you don't. The uniqueness warning, noted above for locations, applies here too.
118+
119+
Further reading
120+
---------------
121+
122+
- `CodeQL repository <https://github.com/github/codeql>`__

docs/language/learn-ql/ql-training.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,4 @@ CodeQL and variant analysis for Java
6060
Further reading
6161
~~~~~~~~~~~~~~~
6262

63-
- If you are completely new to CodeQL, look at our introductory topics in :doc:`Learning CodeQL <index>`.
64-
- To see examples of CodeQL queries that have been used to find security vulnerabilities and bugs in open source software projects, visit the `GitHub Security Lab website <https://securitylab.github.com/research>`__ and the associated `repository <https://github.com/github/security-lab>`__.
63+
- `GitHub Security Lab <https://securitylab.github.com/research>`__

docs/language/learn-ql/writing-queries/debugging-queries.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ However, as written it is difficult for the optimizer to pick out the best order
148148
149149
Now the structure we want is clearer. We've separated out the easy part into its own predicate ``locInfo``, and the main predicate ``sameLoc`` is just a larger join.
150150

151-
Further information
152-
-------------------
151+
Further reading
152+
---------------
153153

154-
- Find out more about QL in the `QL language reference <https://help.semmle.com/QL/ql-handbook/index.html>`__.
154+
.. include:: ../../reusables/codeql-ref-tools-further-reading.rst

docs/language/learn-ql/writing-queries/introduction-to-queries.rst

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,3 @@ Query help files
150150
****************
151151

152152
When you write a custom query, we also recommend that you write a query help file to explain the purpose of the query to other users. For more information, see the `Query help style guide <https://github.com/github/codeql/blob/master/docs/query-help-style-guide.md>`__ on GitHub, and the :doc:`Query help files <query-help>`.
153-
154-
What next?
155-
==========
156-
157-
- See the queries used in real-life variant analysis on the `GitHub Security Lab website <https://securitylab.github.com/research>`__.
158-
- To learn more about writing path queries, see :doc:`Creating path queries <path-queries>`.
159-
- Take a look at the `built-in queries <https://help.semmle.com/wiki/display/QL/Built-in+queries>`__ to see examples of the queries included in CodeQL.
160-
- Explore the `query cookbooks <https://help.semmle.com/wiki/display/QL/QL+cookbooks>`__ to see how to access the basic language elements contained in the CodeQL libraries.
161-
- For a full list of resources to help you learn CodeQL, including beginner tutorials and language-specific examples, visit `Learning CodeQL <https://help.semmle.com/QL/learn-ql/>`__.

docs/language/learn-ql/writing-queries/path-queries.rst

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,8 @@ The ``element`` that you select in the first column depends on the purpose of th
189189

190190
The alert message defined in the final column in the ``select`` statement can be developed to give more detail about the alert or path found by the query using links and placeholders. For more information, see :doc:`Defining the results of a query <select-statement>`.
191191

192-
What next?
193-
**********
192+
Further reading
193+
***************
194194

195-
- Take a look at the path queries for `C/C++ <https://help.semmle.com/wiki/label/CCPPOBJ/path-problem>`__, `C# <https://help.semmle.com/wiki/label/CSHARP/path-problem>`__, `Java <https://help.semmle.com/wiki/label/java/path-problem>`__, `JavaScript <https://help.semmle.com/wiki/label/js/path-problem>`__, and `Python <https://help.semmle.com/wiki/label/python/path-problem>`__ to see examples of these queries.
196-
- Explore the `query cookbooks <https://help.semmle.com/wiki/display/QL/QL+cookbooks>`__ to see how to access the basic language elements contained in the CodeQL libraries.
197-
- For a full list of resources to help you learn CodeQL, including beginner tutorials and language-specific examples, visit `Learning CodeQL <https://help.semmle.com/QL/learn-ql/>`__.
195+
- `Exploring data flow with path queries <https://help.semmle.com/codeql/codeql-for-vscode/procedures/exploring-paths.html>`__
196+
- `CodeQL repository <https://github.com/github/codeql>`__

0 commit comments

Comments
 (0)