Tamas Vajk
89df59a083
C#: Add missing models and fix interpolated string flow into StringBuilder
2023-12-07 10:56:59 +01:00
Tamas Vajk
2c624c23ed
Add test cases for missing flow with interpolated strings and StringBuilder
2023-12-07 10:32:01 +01:00
Tamas Vajk
9f24b026fb
C#: Move StringBuilder dataflow tests to separate file
2023-12-07 10:31:50 +01:00
Tamas Vajk
eeabb81973
Adjust expected test files
2023-12-06 16:00:43 +01:00
Anders Schack-Mulligen
21dea62e99
C#: Fix qltests.
2023-06-09 08:37:35 +02:00
Anders Schack-Mulligen
6025feebd9
C#: Update expected output.
2023-04-27 10:24:24 +02:00
Michael Nebel
95488bf133
C#: Update expected test output.
2022-09-29 11:35:35 +02:00
Michael Nebel
131a6ac492
C#: Update expected test output.
2022-09-29 11:35:35 +02:00
Michael Nebel
e1ea1a464d
C#: Update expected test output.
2022-09-29 11:35:35 +02:00
Michael Nebel
940e925c31
C#: Update expected test output.
2022-09-29 11:35:35 +02:00
Michael Nebel
65b32b665d
C#: Update test expected output.
2022-09-29 11:35:35 +02:00
Michael Nebel
2e5fc19e38
C#: Update expected test output.
2022-09-29 11:35:35 +02:00
Michael Nebel
e8fd2bfc78
C#: Update expected test output.
2022-09-28 14:35:09 +02:00
Michael Nebel
7b6e684eaf
C#: Update test expected output (no new flow is identified).
2022-09-28 14:35:09 +02:00
Anders Schack-Mulligen
7b98ca9b0a
C#: Adjust qltest expected output.
2022-01-18 10:36:52 +01:00
Michael Nebel
a43704ab43
C#: Update dataflow/global tests based on synthetic fields.
2021-12-09 10:11:48 +01:00
Tom Hvitved
82abab1510
C#: Hide parameters of summarized callables
2021-11-10 15:11:13 +01:00
Anders Schack-Mulligen
f30dad7705
Dataflow: Update test expected outputs.
2021-09-07 13:02:20 +02:00
Tamas Vajk
b7f13a7e1f
C#: Change generic method names to include <> and type args/params
2021-09-06 11:48:22 +02:00
Tamas Vajk
a90a86bcbf
Fix flow from Element of Argument[0] for Int32.TryParse(ReadOnlySpan<Char>,...
2021-06-28 11:20:32 +02:00
Tom Hvitved
6d6150d051
C#: Change some data-flow toString()s
2021-03-23 16:42:58 +01:00
Tom Hvitved
e1e4016a5c
C#: Fix missing delegate flow
2021-03-16 13:16:23 +01:00
Tom Hvitved
94deed39a2
C#: Represent all expressions in post-order in the CFG
2020-11-12 20:04:48 +01:00
Tom Hvitved
03a36760b8
C#: Add data-flow test for ConfigureAwait()
2020-10-27 10:23:39 +01:00
Tom Hvitved
91806da2fa
C#: Address review comments
2020-10-14 14:15:34 +02:00
Tom Hvitved
5d1a5920c7
C#: Reimplement flow-summary compilation
2020-10-14 14:15:34 +02:00
Tom Hvitved
f2dc2d912a
C#: Add inter-procedural data-flow test for StringBuilder
2020-10-14 14:15:34 +02:00
Tom Hvitved
31816af11e
C#: Add missing data-flow for switch expressions
2020-10-07 17:10:29 +02:00
Tom Hvitved
9c503c1591
C#: Add more data/control-flow tests
2020-10-07 17:10:01 +02:00
Tom Hvitved
c0b251ad9e
C#: Precise data-flow for System.Threading.Tasks
2020-10-03 11:13:45 +02:00
Tom Hvitved
26544f322a
C#: Update data-flow tests for System.Threading.Tasks
2020-10-03 11:13:45 +02:00
Tom Hvitved
795c5784b0
C#: Precise data flow for collections
2020-06-26 13:40:05 +02:00
Tom Hvitved
b8ae4b7f64
C#: Move async data-flow tests from local to global
2020-06-25 10:04:18 +02:00
Tom Hvitved
8c9f85d04f
Data flow: Allow nodes to be hidden from path explanations
2020-06-09 13:53:19 +02:00
Tom Hvitved
1959480b78
C#: Field-flow summaries for library code
2020-04-16 15:20:47 +02:00
Tom Hvitved
a9b88b6eaa
C#: Update data flow tests
2020-04-14 09:31:10 +02:00
Anders Schack-Mulligen
fc87f1eb1b
C#: Fix tests.
2020-03-10 10:54:48 +01:00
Tom Hvitved
fed6dd5324
C#: Generalize data-flow flow-through summaries
...
The predicate
```
argumentValueFlowsThrough(ArgumentNode arg, OutNode out, CallContext cc)
```
has been generalized to
```
argumentValueFlowsThrough(
DataFlowCall call, ArgumentNode arg, Node out, ContentOption contentIn,
ContentOption contentOut
)
```
This enables us to summarize normal flow-through (as before), getters, setters,
as well as getter-setters.
2020-02-04 14:09:12 +01:00
Tom Hvitved
abcb6b8aab
C#: Type-based pruning for data flow
2019-12-10 15:48:48 +01:00
Tom Hvitved
78ddb37a8c
C#: Track type information in data flow
...
This commit adds type information to data flow paths, by mapping node types onto
the smaller set of GVN types, and implementing `ppReprType()`.
The effect is a mere change in `DataFlow::PathNode::toString()`; no type-based
pruning is done yet.
2019-12-10 15:46:28 +01:00
Tom Hvitved
cf4db48eb1
Merge branch 'rc/1.22' into master
2019-09-18 16:53:55 +02:00
Luke Cartey
407f6349a3
C#: Fix potential bug in CaptureOutNode.
...
In theory this bug could associated CaptureOutNodes with the wrong transitively called
callable. However, in practice I could not create a test case that revealed incorrect
behaviour. I've included one such test case in the commit.
I believe that the cause of this is that OutNode::getACall() is not actually used in the
data flow libraries. Instead, DataFlowDispatch::Cached::getAnOutNode is the predicate
which is used to associated OutNode's with DataFlowCall's in practice, and that is always
used in a context that correctly binds the runtime target of the call.
2019-09-18 11:48:29 +01:00
Luke Cartey
4ecfe97e7b
C#: Adjust line numbers in test case.
2019-09-18 10:55:59 +01:00
Luke Cartey
3c07caefe4
C#: Add test for transitive capture calls.
2019-09-17 15:21:30 +01:00
Luke Cartey
70c2cc595b
C#: Add capture test for nested lambdas, commented out
...
Add a commented out version of the test, and modify the expected files
to contain the same results at new offsets.
2019-09-17 15:13:10 +01:00
Anders Schack-Mulligen
6299625b3d
C#: Adjust qltest expected output.
2019-09-12 11:00:49 +02:00
Tom Hvitved
4d58154ff5
C#: Fix data flow for out/ref parameters
2019-08-02 14:25:38 -07:00
Tom Hvitved
04db1bf3f4
C#: Add data flow test for methods with multiple out/ref parameters
2019-08-02 13:46:18 -07:00
Tom Hvitved
c6a471e4b6
C#: Adopt shared data flow implementation
...
- General refactoring to fit with the shared data flow implementation.
- Move CFG splitting logic into `ControlFlowReachability.qll`.
- Replace `isAdditionalFlowStepIntoCall()` with `TaintedParameterNode`.
- Redefine `ReturnNode` to be the actual values that are returned, which should
yield better path information.
- No longer consider overrides in CIL calls.
2019-05-06 14:54:11 +02:00
Tom Hvitved
26debb846c
C#: Change ImplicitCapturedArgumentNode::toString()
2019-05-06 14:54:11 +02:00