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
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
Dave Bartolomeo
4dcdd8a0ee
C++: Add last remaining QLDoc to Opcode.qll
2020-06-26 17:25:30 -04:00
Dave Bartolomeo
bdf121f3b8
C++: Update opcode QLDoc script to handle abstract base classes
...
This auto-generates even more QLDoc for `Opcode.qll`
2020-06-26 16:04:33 -04:00
Dave Bartolomeo
281985b845
C++: Sync Opcode.qll QLDoc with Instruction.qll QLDoc
...
For every concrete `Opcode`, there is a corresponding `Instruction` class. Rather than duplicate all of the QLDoc by hand, I wrote a quick Python script to copy the QLDoc from `Instruction.qll` to `Opcode.qll`. I don't expect that we will need to do this often, so I'm not hooking it up to a PR check or anything like that, but I did commit the script itself in case we need it again.
2020-06-26 11:42:32 -04:00
Dave Bartolomeo
023e1dc0a2
Instruction and opcode cleanup
...
- Renamed `DynamicCastToVoid` to the more descriptive `CompleteObjectAddress`
- Split verbose description from summary in a few Instruction QLDoc comments.
- Added `Instruction` classes for the few remaining `Opcode`s that didn't have one.
- Removed a use of "e.g."
2020-06-26 11:39:10 -04:00
Dave Bartolomeo
f48948c604
C++: Opcode cleanup
...
- Remove unused `MemoryAccessOpcode`
- Make `OpcodeWithCondition` private
- Add QLDoc for `Opcode` module
2020-06-26 09:04:37 -04:00
Mathias Vorreiter Pedersen
beb66299e9
Merge pull request #3796 from dbartol/codeql-c-analysis-team/40/2
...
C++: QLDoc for all of `Instruction.qll`
2020-06-26 14:04:48 +02:00
Tom Hvitved
795c5784b0
C#: Precise data flow for collections
2020-06-26 13:40:05 +02:00
Jonas Jensen
9d8052a434
Merge pull request #3813 from MathiasVP/is-argument-for-parameter-join-order
...
C++: Improve join order for AliasAnalysis::isArgumentForParameter
2020-06-26 11:34:33 +02:00
Mathias Vorreiter Pedersen
63752dddef
C++/C#: Sync identical files
2020-06-26 09:08:44 +02:00
Dave Bartolomeo
7e3f2dbe4c
C++: Improve QLDoc for getElementSize()
2020-06-25 17:04:32 -04:00
Calum Grant
b759856ccb
Merge pull request #3792 from calumgrant/cs/qldoc-coverage1
...
C#: Improve qldoc coverage
2020-06-25 16:34:52 +01:00
Dave Bartolomeo
b889d3687e
C++: Fix QLDoc review feedback
2020-06-25 09:33:43 -04:00
Anders Schack-Mulligen
6c679c328d
Dataflow: Refactor dispatch with call context.
2020-06-25 14:28:35 +02:00
Dave Bartolomeo
6dc02c719b
C++: Fix typos
2020-06-25 07:19:15 -04:00
Calum Grant
4642bb2767
Merge pull request #3774 from hvitved/csharp/tripleticks
...
C#: Enable syntax highlighting in QLDoc snippets
2020-06-25 10:31:50 +01:00
Calum Grant
6e3609696a
C#: Address review comments.
2020-06-25 09:59:59 +01:00