Skip to content

Commit f545455

Browse files
authored
Merge pull request #1759 from aschackmull/java/flow-exploration
Java/C++/C#: Add support for dataflow exploration by partial paths.
2 parents 61034be + 8a318ce commit f545455

File tree

24 files changed

+8199
-1
lines changed

24 files changed

+8199
-1
lines changed

change-notes/1.23/analysis-cpp.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,10 @@ The following changes in version 1.23 affect C/C++ analysis in all applications.
1818

1919
## Changes to QL libraries
2020

21-
- bullet list
21+
* The data-flow library has been extended with a new feature to aid debugging.
22+
Instead of specifying `isSink(Node n) { any() }` on a configuration to
23+
explore the possible flow from a source, it is recommended to use the new
24+
`Configuration::hasPartialFlow` predicate, as this gives a more complete
25+
picture of the partial flow paths from a given source. The feature is
26+
disabled by default and can be enabled for individual configurations by
27+
overriding `int explorationLimit()`.

change-notes/1.23/analysis-csharp.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,12 @@ The following changes in version 1.23 affect C# analysis in all applications.
2020
arising from guards by overriding the predicate
2121
`isBarrierGuard`/`isSanitizerGuard` on data-flow and taint-tracking
2222
configurations respectively.
23+
* The data-flow library has been extended with a new feature to aid debugging.
24+
Instead of specifying `isSink(Node n) { any() }` on a configuration to
25+
explore the possible flow from a source, it is recommended to use the new
26+
`Configuration::hasPartialFlow` predicate, as this gives a more complete
27+
picture of the partial flow paths from a given source. The feature is
28+
disabled by default and can be enabled for individual configurations by
29+
overriding `int explorationLimit()`.
2330

2431
## Changes to autobuilder

change-notes/1.23/analysis-java.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,13 @@ The following changes in version 1.23 affect Java analysis in all applications.
99
| Query built from user-controlled sources (`java/sql-injection`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as SQL expressions sinks. |
1010
| Query built from local-user-controlled sources (`java/sql-injection-local`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as SQL expressions sinks. |
1111
| Query built without neutralizing special characters (`java/concatenated-sql-query`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as SQL expressions sinks. |
12+
13+
## Changes to QL libraries
14+
15+
* The data-flow library has been extended with a new feature to aid debugging.
16+
Instead of specifying `isSink(Node n) { any() }` on a configuration to
17+
explore the possible flow from a source, it is recommended to use the new
18+
`Configuration::hasPartialFlow` predicate, as this gives a more complete
19+
picture of the partial flow paths from a given source. The feature is
20+
disabled by default and can be enabled for individual configurations by
21+
overriding `int explorationLimit()`.

0 commit comments

Comments
 (0)