Tom Hvitved
d6df69d481
Merge pull request #10754 from hvitved/dataflow/non-hidden-succ-fast-tc
...
Data flow: Improve `fastTC` bound in `PathNodeImpl::getANonHiddenSuccessor`
2022-10-11 11:12:58 +02:00
Tom Hvitved
ffb2b1c15e
Data flow: Sync files
2022-10-10 15:39:13 +02:00
Tom Hvitved
85344bfb13
Data flow: Improved fastTC bound in PathNodeImpl::getANonHiddenSuccessor
...
Before
```
[2022-10-10 14:34:54] Evaluated non-recursive predicate __DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff_DataFlowImplForRegExp__#higher_order_body@4bb14aoj in 262ms (size: 2418048).
Evaluated relational algebra for predicate __DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff_DataFlowImplForRegExp__#higher_order_body@4bb14aoj with tuple counts:
4141389 ~75% {1} r1 = SCAN _DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff_DataFlowImplForRegExp#__#shared OUTPUT In.1
return r1
[2022-10-10 14:34:57] Evaluated non-recursive predicate boundedFastTC:DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorIfHidden#0#dispred#ff:__DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff_DataFlowImplForRegExp__#higher_order_body@fb66bb06 in 2754ms (size: 7448123).
[2022-10-10 14:35:09] Evaluated non-recursive predicate DataFlowImplForRegExp#43df744e::PathNodeImpl::getANonHiddenSuccessor#0#dispred#ff@77ff066b in 10892ms (size: 2830055).
Evaluated relational algebra for predicate DataFlowImplForRegExp#43df744e::PathNodeImpl::getANonHiddenSuccessor#0#dispred#ff@77ff066b with tuple counts:
4141389 ~0% {3} r1 = SCAN _DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff_DataFlowImplForRegExp#__#shared OUTPUT In.0, In.1, In.1
2192551 ~4% {3} r2 = r1 AND NOT DataFlowImplForRegExp#43df744e::PathNodeImpl::isHidden#0#dispred#f(Lhs.2)
2192551 ~4% {2} r3 = SCAN r2 OUTPUT In.0, In.2
4141389 ~0% {2} r4 = SCAN _DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff_DataFlowImplForRegExp#__#shared OUTPUT In.1, In.0
147138810 ~0% {3} r5 = JOIN r4 WITH boundedFastTC:DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorIfHidden#0#dispred#ff:__DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff_DataFlowImplForRegExp__#higher_order_body ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
637649 ~3% {3} r6 = r5 AND NOT DataFlowImplForRegExp#43df744e::PathNodeImpl::isHidden#0#dispred#f(Lhs.2)
637649 ~2% {2} r7 = SCAN r6 OUTPUT In.0, In.2
2830200 ~0% {2} r8 = r3 UNION r7
return r8
```
After
```
[2022-10-10 14:59:08] Evaluated non-recursive predicate boundedFastTC:DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorIfHidden#0#dispred#ff_10#higher_order_body:_DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorIfHidden#0#dispred#ff_DataFlowImplForReg__#higher_order_body@98a323ne in 384ms (size: 671076).
[2022-10-10 14:59:09] Evaluated non-recursive predicate DataFlowImplForRegExp#43df744e::PathNodeImpl::getANonHiddenSuccessor0#ff@69f158pf in 222ms (size: 2805795).
Evaluated relational algebra for predicate DataFlowImplForRegExp#43df744e::PathNodeImpl::getANonHiddenSuccessor0#ff@69f158pf with tuple counts:
2155019 ~0% {1} r1 = DataFlowImplForRegExp#43df744e::PathNodeImpl#class#f AND NOT DataFlowImplForRegExp#43df744e::PathNodeImpl::isHidden#0#dispred#f(Lhs.0)
2155019 ~0% {2} r2 = SCAN r1 OUTPUT In.0, In.0
650776 ~0% {2} r3 = boundedFastTC:DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorIfHidden#0#dispred#ff_10#higher_order_body:_DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorIfHidden#0#dispred#ff_DataFlowImplForReg__#higher_order_body AND NOT DataFlowImplForRegExp#43df744e::PathNodeImpl::isHidden#0#dispred#f(Lhs.0)
650776 ~0% {2} r4 = SCAN r3 OUTPUT In.1, In.0
2805795 ~0% {2} r5 = r2 UNION r4
return r5
[2022-10-10 14:59:09] Evaluated non-recursive predicate DataFlowImplForRegExp#43df744e::PathNodeImpl::getANonHiddenSuccessor#0#dispred#ff@5ae9fc5n in 445ms (size: 2830062).
Evaluated relational algebra for predicate DataFlowImplForRegExp#43df744e::PathNodeImpl::getANonHiddenSuccessor#0#dispred#ff@5ae9fc5n with tuple counts:
4141389 ~5% {2} r1 = DataFlowImplForRegExp#43df744e::PathNodeImpl::getASuccessorImpl#0#dispred#ff AND NOT DataFlowImplForRegExp#43df744e::PathNodeImpl::isHidden#0#dispred#f(Lhs.0)
4141389 ~0% {2} r2 = SCAN r1 OUTPUT In.1, In.0
2830200 ~0% {2} r3 = JOIN r2 WITH DataFlowImplForRegExp#43df744e::PathNodeImpl::getANonHiddenSuccessor0#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
return r3
```
2022-10-10 15:36:58 +02:00
Geoffrey White
fd571538fb
Merge pull request #10706 from geoffw0/vaheuristic
...
C++: Tune cpp/unterminated-variadic-call
2022-10-10 13:39:40 +01:00
Geoffrey White
059864587e
C++: Add 'mremap' to whitelist.
2022-10-10 11:00:18 +01:00
Tom Hvitved
296ec94a2a
Data flow: Sync files
2022-10-09 19:48:45 +02:00
Dave Bartolomeo
5ee7986649
Merge pull request #10736 from github/post-release-prep/codeql-cli-2.11.1
...
Post-release preparation for codeql-cli-2.11.1
2022-10-07 14:23:31 -04:00
github-actions[bot]
b8ef9e0ddc
Post-release preparation for codeql-cli-2.11.1
2022-10-07 15:59:45 +00:00
erik-krogh
66c9705502
fix some more style-guide violations in the alert-messages
2022-10-07 11:19:46 +02:00
github-actions[bot]
a02dcdc5e1
Release preparation for version 2.11.1
2022-10-07 02:20:28 +00:00
Henry Mercer
7a7d164b07
Merge pull request #10698 from github/henrymercer/successfully-extracted-files-tag
...
Tag successfully extracted files queries
2022-10-06 13:21:52 +01:00
Geoffrey White
c6b7bb436d
C++: Make the ql-for-ql checks happy.
2022-10-06 11:25:22 +01:00
Mathias Vorreiter Pedersen
a856bc8678
Merge pull request #10562 from rdmarsh2/rdmarsh2/cpp/field-off-by-one
...
C++: prototype for off-by-one in array-typed field
2022-10-06 11:04:12 +01:00
Mathias Vorreiter Pedersen
32d0b58923
C++: Fix qhelp example.
2022-10-06 10:19:53 +01:00
Geoffrey White
86756538f2
C++: Change note.
2022-10-06 09:14:25 +01:00
Geoffrey White
3f78a244b9
C++: Make the tests use more repetitions.
2022-10-06 09:14:24 +01:00
Geoffrey White
9a365d83cf
C++: Tighten up the heuristic in cpp/unterminated-variadic-call.
2022-10-06 09:14:16 +01:00
Henry Mercer
d80d39504f
Tag successfully extracted files queries
...
Tag the successfully extracted files queries with
`successfully-extracted-files` to make them easier to identify
programmatically in a language-independent way.
This follows the prior art for lines of code queries, which are tagged
`lines-of-code`.
2022-10-05 19:19:43 +01:00
Mathias Vorreiter Pedersen
fcd69a005f
C++: Remove redundant pragma.
2022-10-05 09:56:24 +01:00
Mathias Vorreiter Pedersen
4d697cd369
C++: Rephrase QLDoc.
2022-10-04 17:15:08 +01:00
Mathias Vorreiter Pedersen
32839021f8
C++: Fix join that might blow up in the future.
2022-10-04 16:43:02 +01:00
Robert Marsh
98f4caf76f
Merge pull request #10645 from MathiasVP/add-more-range-analysis-tests
...
C++: Port SimpleRangeAnalysis tests to the new range-analysis
2022-10-03 14:34:56 -04:00
Robert Marsh
84f9c9b224
C++: query help for ConstantSizeArrayOffByOne.ql
2022-09-30 15:15:24 -04:00
Robert Marsh
159f11cd28
C++: fill in more query metadata
2022-09-30 15:07:08 -04:00
Robert Marsh
8972176242
C++: autoformat
2022-09-30 14:22:33 -04:00
Mathias Vorreiter Pedersen
cd65e73ade
C++: Fix database inconsistency issue from ODR violation.
2022-09-30 17:04:23 +01:00
Robert Marsh
8ac8101a75
C++: convert to path-problem
2022-09-30 11:35:02 -04:00
Robert Marsh
423e0bf99a
C++: respond to style comments on PR
2022-09-30 11:27:14 -04:00
Mathias Vorreiter Pedersen
56b5010f6b
C++: Convert the SimpleRangeAnalysis test to an InlineExpectationsTest.
2022-09-30 14:23:18 +01:00
Mathias Vorreiter Pedersen
d14b2c2880
C++: Put quotes around expectation comments with spaces.
2022-09-30 14:23:18 +01:00
Mathias Vorreiter Pedersen
c4c7c95db2
C++: Add SimpleRangeAnalysis test file to the new range-analysis library test directory.
2022-09-30 14:23:14 +01:00
Mathias Vorreiter Pedersen
fa12bd3cdf
C++: Fix spelling.
2022-09-30 11:22:26 +01:00
Mathias Vorreiter Pedersen
483ff58c39
C++: Replace the giant list of predicate parameters with a module signature.
2022-09-30 10:36:03 +01:00
Mathias Vorreiter Pedersen
b0af4cba30
C++: Fix Code Scanning alert.
2022-09-30 10:05:45 +01:00
Mathias Vorreiter Pedersen
6d5de66e6a
C++: Add QLDoc to the parameterized module components in 'Allocation.qll'.
2022-09-30 10:04:57 +01:00
Robert Marsh
f17b563692
C++: handle interprocedural flows
...
This currently copy-pastes some predicates from InvalidPointerDeref.ql.
Those should be moved to a library file in a followup
2022-09-29 16:09:48 -04:00
Mathias Vorreiter Pedersen
2a514d60d4
C++: Add 'isBarrierIn' to prevent path duplication.
2022-09-29 19:55:58 +01:00
Mathias Vorreiter Pedersen
d12a76559a
C++: Use the new class in 'cpp/invalid-pointer-deref'.
2022-09-29 19:54:03 +01:00
Mathias Vorreiter Pedersen
a9710453f4
C++: Add class with heuristics to detect allocations.
2022-09-29 19:54:03 +01:00
Robert Marsh
99d7512881
C++: tests for constant-size off-by-one query
2022-09-29 13:33:13 -04:00
Robert Marsh
447c11cd07
C++: move ConstantSizeArrayOffByOne.ql to CWE-193
2022-09-29 10:56:29 -04:00
Robert Marsh
e46b215c9d
C++: fix metadata and result format
2022-09-29 10:53:29 -04:00
Mathias Vorreiter Pedersen
4e3b445515
C++: Accept test changes.
2022-09-29 13:35:23 +01:00
Mathias Vorreiter Pedersen
70837dbd93
C++: Use range analysis to properly deduce the initial 'state2' instead of traversing the AST. Also fix state-passing related to negative states.
2022-09-29 13:32:39 +01:00
Mathias Vorreiter Pedersen
6537c817ef
C++: Add more CWE-199 tests that allocates memory based on the result of a SubExpr.
2022-09-29 13:31:34 +01:00
Mathias Vorreiter Pedersen
4ab676774e
C++: Add qhelp to new query.
2022-09-28 15:17:08 +01:00
Mathias Vorreiter Pedersen
769ff5c6f3
C++: Add 'isAdditionalFlowStep' predicates for both configurations in the product dataflow library and use them to fix missing results in the 'cpp/overrun-write' query.
2022-09-28 15:17:04 +01:00
Mathias Vorreiter Pedersen
ccbbb5754e
C++: Use range analysis in 'cpp/overrun-write' and accept test changes.
2022-09-28 15:14:29 +01:00
Mathias Vorreiter Pedersen
51758aa928
C++: Add tests to 'cpp/overrun-write'.
2022-09-28 15:14:29 +01:00
Robert Marsh
82bbe67267
Merge pull request #10593 from MathiasVP/fix-fp-on-cwe-193
...
C++: Fix FPs on `cpp/invalid-pointer-deref`
2022-09-27 17:38:17 -04:00