Tom Hvitved
80144a00c8
C#: Update nullness analyses
...
Port the SSA-based logic from the Java nullness analyses.
2018-11-30 17:41:31 +01:00
Tom Hvitved
d2a431e6f3
C#: Add more nullness tests
...
Port many of the nullness test from Java, as well as add new tests.
2018-11-30 17:02:05 +01:00
calumgrant
1c2dd3e7b9
Merge pull request #570 from hvitved/csharp/ssa/split-to-string
...
C#: Include CFG splits in `Ssa::Definition::toString()`
2018-11-30 15:04:36 +00:00
calumgrant
08f5c2b6a6
Merge pull request #567 from hvitved/csharp/guards-splitting
...
C#: Account for split SSA definitions in guards library
2018-11-30 14:57:57 +00:00
calumgrant
ca72c8ebfe
Merge pull request #579 from hvitved/csharp/guards-loop
...
C#: Fix bug in guards library when the guarded expression is in a loop
2018-11-30 10:27:21 +00:00
Tom Hvitved
05b9519e9a
C#: Handle multiple-field Boolean CFG splitting
...
The internal pre-SSA library was extended on 3e78c2671f
to include fields/properties that are local-scope-like. The CFG splitting logic
uses ranking of SSA definitions to define an (arbitrary) order of splits, but for
fields/properties the implicit entry definition all have the same line and column.
In effect, such SSA definitions incorrectly get the same rank. Adding the name
of the field/property to the lexicographic ordering resolves the issue.
2018-11-30 10:57:34 +01:00
Tom Hvitved
610be85c8c
C#: Add CFG test for multiple-field Boolean splitting
2018-11-30 10:32:08 +01:00
Jonas Jensen
9babb4366b
Merge remote-tracking branch 'upstream/master' into mergeback-20181130
2018-11-30 10:13:33 +01:00
Tom Hvitved
8bd8975795
Merge pull request #568 from calumgrant/cs/index-out-of-bounds
...
C#: Fix false-positives in cs/index-out-of-bounds
2018-11-29 18:40:05 +01:00
Tom Hvitved
a12a72e90f
C#: Fix bug in guards library when the guarded expression is in a loop
...
Follow-up on 03e69e9945 .
2018-11-29 15:53:03 +01:00
calum
6a1ab51d66
C#: Address review comments.
2018-11-29 11:39:10 +00:00
Tom Hvitved
ab7a094439
C#: Include CFG splits in Ssa::Definition::toString()
...
Just like syntax elements can be split in the control flow graph, so can SSA
definitions. To make this clear, and to make debugging easier, this commit
adds the splits as a prefix in the textual representation of SSA definitions.
2018-11-29 10:00:08 +01:00
Tom Hvitved
3eb163f656
C#: Account for split SSA definitions in guards library
...
On 03e69e9945 , I updated the guards library to account
for control flow graph splitting. However, the logic that relates SSA qualifiers for
the guard and the guarded expression was not updated accordingly.
2018-11-28 20:00:13 +01:00
Tom Hvitved
1a25f0a068
C#: Add test for guard inside a split CFG block
2018-11-28 19:59:05 +01:00
calum
6c6d7e4fff
C#: Fix false-positives in cs/index-out-of-bounds.
2018-11-28 17:42:08 +00:00
Tom Hvitved
41edd61e2e
Merge pull request #545 from calumgrant/cs/typemention-constraints
...
C#: Fix for type mentions of type parameter constraints
2018-11-27 14:25:48 +01:00
calumgrant
d1f7eef7eb
Merge pull request #537 from hvitved/csharp/guards-splitting
...
C#: Make guards library work with CFG splitting
2018-11-26 18:19:37 +00:00
Tom Hvitved
e069041bd5
Merge pull request #431 from calumgrant/cs/extractor/fsharp-core
...
C#: Fix extraction of method signatures
2018-11-26 15:07:33 +01:00
Tom Hvitved
7dc0a8132e
Merge pull request #513 from calumgrant/cs/cwe-134
...
C#: New query cs/uncontrolled-format-string
2018-11-26 14:58:54 +01:00
calum
de36151c4a
C#: Add regression test and fix for type mentions of type parameter constraints.
2018-11-26 13:51:02 +00:00
Aditya Sharad
c20b688a3f
Merge master into next.
2018-11-23 16:36:31 +00:00
Tom Hvitved
03e69e9945
C#: Make guards library work with CFG splitting
2018-11-23 15:20:33 +01:00
Tom Hvitved
228189db5a
C#: Add tests for guards inside split CFG blocks
2018-11-23 15:20:27 +01:00
Aditya Sharad
10dc183495
Merge pull request #512 from hvitved/csharp/autobuilder/dirs-proj
...
C#: Recognize `.proj` files in autobuilder
2018-11-23 13:18:04 +00:00
calum
b67bc7b612
C#: Fix id generation of constructed methods, by avoid id clashes by ensuring that method type parameters are qualified where necessary. Add a qltest.
2018-11-23 12:11:10 +00:00
calum
e00807d66b
C#: Fix decoding method type parameters in FSharp.Core.
2018-11-23 12:09:52 +00:00
Tom Hvitved
1939773684
C#: Address review comments
2018-11-23 09:32:12 +01:00
Tom Hvitved
c3ccdfa7f9
C#: Guard against cyclic inclusions in project files
2018-11-23 09:32:12 +01:00
Tom Hvitved
e4f68ae324
C#: Address review comments
2018-11-23 09:32:12 +01:00
Tom Hvitved
836daaf07b
C#: Recognize .proj files in autobuilder
...
When determining the target of `msbuild` or `dotnet build`, first look for `.proj`
files, then `.sln` files, and finally `.csproj`/`.vcxproj` files. In all three cases,
choose the project/solution file closest to the root.
2018-11-23 09:32:12 +01:00
Tom Hvitved
b95d7e5302
C#: Move autobuilder into separate folder
2018-11-23 09:32:12 +01:00
calum
36d9520f87
C#: Address doc comments.
2018-11-22 11:52:00 +00:00
calum
6b2e339ec5
C#: Address QL review comments.
2018-11-22 11:45:41 +00:00
calum
64de7489fe
C#: Analysis change notes.
2018-11-22 11:21:35 +00:00
calum
1bfa4d59e7
C#: Documentation for cs/uncontrolled-format-string
2018-11-22 11:21:35 +00:00
calum
fb09360ad6
C#: New query for cs/uncontrolled-string-format
2018-11-22 11:21:35 +00:00
Tom Hvitved
201f64ef8e
Merge pull request #367 from calumgrant/cs/path-problems
...
C#: Update all security queries to path-problems
2018-11-22 12:02:11 +01:00
calum
3eae1cd500
C#: Update test outputs.
2018-11-21 17:28:48 +00:00
calum
69ab1ed5bd
C#: Add nodes predicate to all path queries.
2018-11-21 12:35:05 +00:00
calum
8c753d7e94
C#: Fix ReDoS query.
2018-11-21 11:15:55 +00:00
Tom Hvitved
8233e34ba2
C#: Fix Boolean splitting for variables defined in a loop
2018-11-20 21:22:00 +01:00
Tom Hvitved
89d5daa137
C#: Fix Boolean splitting negation bug
2018-11-20 21:22:00 +01:00
Tom Hvitved
841218540e
C#: Add CFG test
...
This test exhibits two issues with Boolean CFG splitting: incorrect handling of
negated variables and incorrect splitting for variables defined inside a loop.
2018-11-20 21:22:00 +01:00
Tom Hvitved
3e78c2671f
C#: Generalize pre-SSA library to include local-scope-like fields/properties
2018-11-20 15:07:44 +01:00
Tom Hvitved
25150265dc
C#: Compute phi inputs in pre-SSA library
...
Logic is copied directly from the ordinary SSA library.
2018-11-20 15:07:43 +01:00
Tom Hvitved
252b756184
Merge pull request #472 from felicity-semmle/csharp/SD-2778-qhelp-update
...
C#: Minor updates for consistency (SD-2778)
2018-11-20 14:28:29 +01:00
semmle-qlci
4b5f24d99e
Merge pull request #449 from hvitved/csharp/ssa/live-at-rank
...
Approved by calumgrant
2018-11-20 13:01:02 +00:00
Tom Hvitved
9f7eef02ec
C#: Address review comments
2018-11-20 09:24:53 +01:00
Felicity Chapman
fc6e9be75a
Fix incorrect tag
2018-11-20 07:12:48 +00:00
Pavel Avgustinov
16ec9f1aa4
Merge remote-tracking branch 'origin/next' into bump/master-next
2018-11-19 10:37:07 +00:00