Tom Hvitved
63115a36f7
Merge pull request #3994 from hvitved/csharp/dataflow/library-aps-adjust
...
C#: More type-based adjustment of library-flow access paths
2020-08-04 14:33:54 +02:00
Arthur Baars
7e72ef350e
Merge pull request #3975 from aibaars/lgtm-suites
...
CodeQL: complete LGTM suites
2020-07-30 18:39:01 +02:00
Tom Hvitved
07f1e133f3
C#: More type-based adjustment of library-flow access paths
...
This change removes the restriction that only access paths of length 1 can
have the head adjusted, based on type information from the call to the relevant
library-code callable.
2020-07-30 15:48:41 +02:00
Tom Hvitved
632713c475
Merge pull request #3986 from hvitved/csharp/null-maybe-null-coalescing-assignment
...
C#: Fix false-positives in `cs/dereferenced-value-may-be-null`
2020-07-30 14:20:00 +02:00
Tom Hvitved
05307b8757
C#: Remove more FPs in cs/dereferenced-value-may-be-null
2020-07-30 12:16:59 +02:00
Tom Hvitved
4f4d9d35be
C#: Add more nullness tests
2020-07-30 12:15:49 +02:00
Arthur Baars
5bad003c0c
Add qlpack.yml files for example queries
2020-07-29 16:57:04 +02:00
Tom Hvitved
4345b167ec
Merge pull request #3935 from github/henrymercer/fix-broken-doc-link
...
C#: Fix broken link to ECMA-335
2020-07-29 10:04:08 +02:00
Arthur Baars
c4041e55ba
CodeQL: complete LGTM suites
2020-07-28 20:40:44 +02:00
Tom Hvitved
d39a33655f
C#: Fix false-positives in cs/dereferenced-value-may-be-null
...
Dereferencing an expression of a nullable type should only be reported when
the expression is not clearly non-null.
2020-07-28 16:27:36 +02:00
Tom Hvitved
ce2368de96
C#: Add tests for null-coalescing assignment
2020-07-28 11:07:47 +02:00
Calum Grant
79f412ff54
C#: Fix tags typo
2020-07-17 15:30:33 +01:00
Calum Grant
dcff87fb2e
Merge pull request #3366 from hvitved/csharp/dataflow/arrays
...
C#: Precise data-flow for collections
2020-07-14 17:12:29 +01:00
Mathias Vorreiter Pedersen
002f930dba
C#: Sync identical files
2020-07-09 15:54:42 +02:00
Henry Mercer
3d711b8cd1
C#: Fix broken link to ECMA-335
2020-07-09 13:15:22 +01:00
Anders Schack-Mulligen
67db1df00c
C++/C#/JavaScript/Python: Port Location qldoc update.
2020-07-07 11:39:27 +02:00
Tom Hvitved
527a099a26
C#: Fix CFG for conditional method calls with out parameters
2020-07-02 13:12:53 +02:00
Tom Hvitved
090205d9e9
C#: Add CFG test for conditional call to method with out parameter
2020-07-02 13:09:40 +02:00
Jonas Jensen
62a656de0f
Merge pull request #3860 from dbartol/codeql-c-analysis-team/40/2
...
C++: QLDoc cleanup
2020-07-02 08:32:44 +02:00
Dave Bartolomeo
f0215d1748
C++: Fix typo
2020-07-01 11:57:56 -04:00
Dave Bartolomeo
566d7fad63
C++: Autoformat some more
2020-07-01 10:14:35 -04:00
Tom Hvitved
9e3a6e8d5e
Merge remote-tracking branch 'upstream/master' into csharp/dataflow/arrays
2020-07-01 14:50:26 +02:00
Anders Schack-Mulligen
7d057598d8
Merge pull request #3857 from jbj/flowthrough-bigstep-perf
...
C++: Remove big-step relation in flow-through code
2020-07-01 14:23:23 +02:00
Anders Schack-Mulligen
38b73ff684
Merge pull request #3854 from hvitved/dataflow/node-type-interface
...
Data flow: Replace `getErasedRepr()` and `Node::getTypeBound()` with `getNodeType()`
2020-07-01 11:37:19 +02:00
semmle-qlci
ef109d91ed
Merge pull request #3842 from hvitved/csharp/dataflow/remove-viable-impl
...
Approved by aschackmull
2020-07-01 08:14:57 +01:00
Tom Hvitved
ed2077b2f4
Merge pull request #3841 from gavinl/master
...
QHELP: Encryption using ECB.qhelp grammar
2020-07-01 08:45:35 +02:00
Dave Bartolomeo
10bbd566d4
C++: Autoformat
2020-07-01 02:28:53 -04:00
Dave Bartolomeo
6592f8c1bb
C++: QLDoc cleanup
...
This PR just fixes a few bits of PR feedback from my previous QLDoc PR.
2020-06-30 17:33:52 -04:00
Jonas Jensen
cff0f48d34
C++: Work around join-order issue in flow-through
...
In this non-linear recursion, a `#prev` relation was joined earlier than
the `#prev_delta` relation. As a result, each iteration of the predicate
processes every tuple from previous iterations.
This quadratic behavior caused severe slowdowns on oneapi-src/oneDNN.
2020-06-30 21:12:57 +02:00
Jonas Jensen
17beb2d867
C++: Remove big-step relation in flow-through code
...
This relation was originally introduced to improve performance but may
no longer be necessary. The `localFlowStepPlus` predicate had an
explosion of tuples on oneapi-src/oneDNN for C++.
2020-06-30 21:06:45 +02:00
Tom Hvitved
1fa58bd82d
Data flow: Sync files
2020-06-30 17:37:16 +02:00
Tom Hvitved
6bcb8a3a5b
C#: Replace getErasedRepr() and getTypeBound() with getNodeType()
2020-06-30 17:37:16 +02:00
Jonas Jensen
63de58c557
Merge pull request #3819 from dbartol/codeql-c-analysis-team/40/2
...
C++: More IR QLDoc (including `Opcode.qll`)
2020-06-30 17:09:15 +02:00
Jonas Jensen
47bb007b9a
C++: Autoformat fixups
2020-06-30 09:56:39 +02:00
Tom Hvitved
3efe1a9d10
C#: Remove unused viableImpl predicate
2020-06-30 08:31:30 +02:00
Tom Hvitved
b57cfc965a
Merge pull request #3804 from aschackmull/dataflow/dispatch-refactor
...
Dataflow: Refactor dispatch with call context.
2020-06-30 08:28:27 +02:00
Gavin Lang
7a023a65b0
Grammatical issues in Encryption using ECB.qhelp
2020-06-30 15:33:05 +10:00
Dave Bartolomeo
42657dbe3f
C++: Miscellaneous IR QLDoc
2020-06-29 14:30:12 -04:00
Dave Bartolomeo
1fa38474e9
C++: Autoformat
2020-06-29 14:09:53 -04:00
Dave Bartolomeo
c52653270e
C++: QLDoc for IRConfiguration.qll
2020-06-29 12:43:51 -04:00
Dave Bartolomeo
87f0b0ef97
C++: QLDoc for EdgeKind.qll
2020-06-29 12:43:50 -04:00
Dave Bartolomeo
440ea6a069
C++: QLDoc for PrintIR.qll
2020-06-29 12:43:50 -04:00
Dave Bartolomeo
2043d9c7c4
C++: QLDoc for Operand.qll
2020-06-29 12:43:50 -04:00
Dave Bartolomeo
ead2a143e0
C++: QLDoc for IRVariable
...
Moved a couple of predicates that were only needed by IR construction into `TranslatedElement.qll`
2020-06-29 12:43:50 -04:00
Dave Bartolomeo
98348a9353
C++: QLDoc for IR.qll
2020-06-29 12:43:50 -04:00
Dave Bartolomeo
88f89b3334
C++: QLDoc for IRFunction.qll
2020-06-29 12:43:49 -04:00
Dave Bartolomeo
d0af9f5808
C++: QLDoc all of IRBlock.qll
2020-06-29 12:43:49 -04:00
Dave Bartolomeo
77bf564136
C++: Finish Instruction.qll QLDoc
2020-06-29 12:43:49 -04:00
Dave Bartolomeo
6de3d5bc3d
C++: Change opcode QLDocs to refer to instruction QLDocs
...
As discussed in today's C++ analysis team meeting. `Opcode` is rarely used directly, so we'll just refer to the documentation for the corresponding `Instruction` class.
I've preserved the script in case we want to do a bulk change of all of the `Opcode` comments, but I don't expect it will be needed if we just add a new `Opcode` or two.
2020-06-29 12:41:36 -04:00
Anders Schack-Mulligen
0bd81eb4b8
Dataflow: Fix reference to viableCallable.
2020-06-29 16:22:58 +02:00