Commit Graph

3279 Commits

Author SHA1 Message Date
Arthur Baars
ff321194b7 Rust: improve modules test case 2025-03-10 10:16:23 +01:00
Arthur Baars
e5b039702a Rust: update integration tests 2025-03-10 10:16:22 +01:00
Arthur Baars
fce637fc3a Rust: add some tests for the crate graph 2025-03-10 10:16:21 +01:00
Arthur Baars
8ec8824cb7 Rust: implement Crate::toString 2025-03-10 10:16:20 +01:00
Arthur Baars
9bba666929 Rust: QL Test: exclude crate graph related elements 2025-03-10 10:16:19 +01:00
Arthur Baars
c601adfc65 Rust: add ExtractionStep::CrateGraph 2025-03-10 10:16:18 +01:00
Arthur Baars
98a40967d2 Rust: ignore crate graph elements from summary stats and AST no-location checks
These elements depend on the version of the standard libraries and platform, and
in addition no location information is extracted for them at the moment.

f
2025-03-10 10:16:15 +01:00
Arthur Baars
75ca04f3dd Rust: add Crate to dbscheme 2025-03-10 10:16:12 +01:00
Simon Friis Vindum
179ea041f4 Rust: Merge query implementation into one file 2025-03-10 09:09:13 +01:00
Geoffrey White
b4e710f459 Rust: Add missing models (for some platforms???). 2025-03-07 22:28:38 +00:00
Geoffrey White
fdb4362b6f Merge remote-tracking branch 'upstream/main' into constcrypto 2025-03-07 17:51:48 +00:00
Geoffrey White
3dc35f1fab Rust: Accept more test changes. 2025-03-07 17:02:26 +00:00
Geoffrey White
c63c1be11c Rust: Accept integration test .expected changes. 2025-03-07 16:12:31 +00:00
Geoffrey White
3d0e44e156 Rust: Accept consistency check failures. 2025-03-07 16:05:01 +00:00
Geoffrey White
19416a9ee3 Rust: Correct test results. 2025-03-07 15:43:34 +00:00
Geoffrey White
fe139e5bea Rust: Rearrange the unused variable query logic so that it's clearer what the comments apply to. 2025-03-07 14:55:34 +00:00
Geoffrey White
cc902a6ad1 Rust: Fix unused value FPs due to unexpanded macro calls as well. 2025-03-07 14:48:27 +00:00
Geoffrey White
e0839a369c Rust: Fix unused variable FPs due to unexpanded macro calls. 2025-03-07 14:40:02 +00:00
Geoffrey White
b2e3352aa8 Rust: Add a few more macro tests. 2025-03-07 14:36:26 +00:00
Anders Schack-Mulligen
d075466958 Merge pull request #18941 from aschackmull/ssa/refactor4
Ssa: Extend consistency checks and reduce phi read nodes
2025-03-07 15:18:02 +01:00
Simon Friis Vindum
494f914070 Rust: Add regular expression injection query 2025-03-07 12:37:30 +01:00
Geoffrey White
abe14babb1 Rust: Clean up the existing macro cases for the unusedentities test. 2025-03-07 11:24:42 +00:00
Anders Schack-Mulligen
b1e53f5816 Rust: Accept consistency failure. 2025-03-07 11:11:49 +01:00
Geoffrey White
b6c9be23c1 Merge branch 'main' into constcrypto 2025-03-07 09:11:10 +00:00
Geoffrey White
42e7d1e983 Rust: Fix typo. 2025-03-06 19:09:01 +00:00
Geoffrey White
9af2d0218b Rust: Add the new sinks to stats. 2025-03-06 18:50:11 +00:00
Geoffrey White
952e417d13 Rust: Tweak some wording. 2025-03-06 18:46:37 +00:00
Geoffrey White
e564c41043 Rust: Compute security-severity tag. 2025-03-06 18:36:55 +00:00
Tom Hvitved
5c3f21b20c Merge pull request #18937 from hvitved/rust/fix-bad-joins
Rust: Fix bad joins
2025-03-06 19:11:31 +01:00
Geoffrey White
95be12ed80 Rust: Add qhelp and examples. 2025-03-06 17:48:47 +00:00
Geoffrey White
b4a6063e20 Rust: Add std::mem::zeroed as a source. 2025-03-06 17:48:45 +00:00
Geoffrey White
ac94ac6584 Rust: Model even more sinks + flows. 2025-03-06 17:48:44 +00:00
Geoffrey White
055baf2769 Rust: Improve results on arrays (less duplication). 2025-03-06 17:48:43 +00:00
Geoffrey White
aacbfc0fd8 Rust: Improve alert messages. 2025-03-06 17:48:41 +00:00
Geoffrey White
a6e106e025 Rust: Model more sinks + flows. 2025-03-06 17:48:40 +00:00
Geoffrey White
9fb00daeec Rust: Implement the query (with one source, one sink model). 2025-03-06 17:48:39 +00:00
Geoffrey White
bd75f0187b Rust: More test cases. 2025-03-06 17:48:37 +00:00
Geoffrey White
9a35febe80 Rust: Query framework and basic tests. 2025-03-06 13:24:05 +00:00
Tom Hvitved
ec063d0dbd Rust: Fix bad joins
```
Evaluated relational algebra for predicate _Synth::Synth::TFormatArgument#5cbf2ffd_63#join_rhs__Format::Format.getArgumentRef/0#dispred#38d664c__#antijoin_rhs@889ee4br with tuple counts:
           11356  ~0%    {5} r1 = JOIN `_Format::Format.getArgumentRef/0#dispred#38d664cb_Format::Format.getParent/0#dispred#f6ec3e8b_10#joi__#shared` WITH Synth::Synth::TFormatArgument#5cbf2ffd_63#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.0
        19631351  ~0%    {6}    | JOIN WITH name_texts_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.0
           45933  ~0%    {6}    | JOIN WITH format_args_arg_names_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5
             747  ~0%    {5}    | JOIN WITH format_args_expr_args_02#join_rhs ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.4, Lhs.5
                         return r1

Evaluated relational algebra for predicate __Format::Format.getParent/0#dispred#f6ec3e8b_FormatArgument::FormatArgument.getParent/0#dispred#864__#antijoin_rhs@01d9d70k with tuple counts:
        19631351  ~1%    {6} r1 = JOIN `_Format::Format.getParent/0#dispred#f6ec3e8b_FormatArgument::FormatArgument.getParent/0#dispred#8641__#shared` WITH name_texts_10#join_rhs ON FIRST 1 OUTPUT Lhs.4, Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.1
         5173010  ~0%    {7}    | JOIN WITH format_args_expr_args ON FIRST 1 OUTPUT Rhs.2, Lhs.5, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.0
             747  ~0%    {5}    | JOIN WITH format_args_arg_names ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6
                         return r1

Evaluated relational algebra for predicate _NamedFormatArgument::NamedFormatArgument#18940f8e__Format::Format.getParent/0#dispred#f6ec3e8b_10#j__#antijoin_rhs@dafbd6hr with tuple counts:
           11356  ~0%    {5} r1 = JOIN `_Format::Format.getParent/0#dispred#f6ec3e8b_10#join_rhs_FormatArgument::FormatArgument.getParent/0#__#shared` WITH NamedFormatArgument::NamedFormatArgument#18940f8e ON FIRST 1 OUTPUT Rhs.4, Lhs.1, Lhs.2, Lhs.3, Lhs.0
        19631351  ~0%    {6}    | JOIN WITH name_texts_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.0
           45933  ~0%    {6}    | JOIN WITH format_args_arg_names_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5
             747  ~0%    {5}    | JOIN WITH format_args_expr_args_02#join_rhs ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.4, Lhs.5
                         return r1

```
2025-03-06 09:02:42 +01:00
Anders Schack-Mulligen
c6761db2fc SSA: Replace the Guards interface in the SSA data flow integration. 2025-03-05 13:29:31 +01:00
Anders Schack-Mulligen
709d36b502 Merge pull request #18869 from aschackmull/ssa/refactor3
Ssa: Update qltests including consistency checks
2025-03-05 11:40:27 +01:00
Paolo Tranquilli
7a78766584 Merge pull request #18789 from github/redsun82/cargo-upgrade
Upgrade cargo dependencies
2025-03-04 17:34:58 +01:00
Tom Hvitved
b8dd2e551e Merge pull request #18919 from hvitved/rust/ast-consistency-internal
Rust: Move `AstConsistency.qll` into `internal`
2025-03-04 15:35:34 +01:00
Simon Friis Vindum
c89e648738 Rust: Exclude function without canonical path from model generation 2025-03-04 13:56:10 +01:00
Tom Hvitved
1f13f0009f Rust: Move AstConsistency.qll into internal 2025-03-04 13:00:09 +01:00
Anders Schack-Mulligen
4c0e5f62cf Rust: Remove remaining DefinitionExt references. 2025-03-04 12:24:24 +01:00
Anders Schack-Mulligen
00b8c80c24 SSA/C#/Ruby/Rust: Clean up SSA consistency queries.
The RelevantDefinition class is no longer needed since the introduction
of LocationSig.
2025-03-04 12:24:23 +01:00
Anders Schack-Mulligen
8474a47c2b Rust: Switch test to use dedicated test module. 2025-03-04 12:24:23 +01:00
Anders Schack-Mulligen
9e03b12ba0 C#/Java/Ruby/Rust/SSA: Replace DefinitionExt with SourceVariable in data flow integration predicates. 2025-03-04 12:24:21 +01:00
Paolo Tranquilli
2a29239b01 Merge branch 'main' into redsun82/cargo-upgrade 2025-03-04 10:05:41 +01:00