Merge pull request #249 from hvitved/csharp/cfg/boolean-splitting

Approved by calumgrant
This commit is contained in:
semmle-qlci
2018-10-11 20:14:37 +01:00
committed by GitHub
28 changed files with 3670 additions and 409 deletions

View File

@@ -0,0 +1,20 @@
# Improvements to C# analysis
## General improvements
* The control flow graph construction now takes simple Boolean conditions on local scope variables into account. For example, in `if (b) x = 0; if (b) x = 1;`, the control flow graph will reflect that taking the `true` (resp. `false`) branch in the first condition implies taking the same branch in the second condition. In effect, the first assignment to `x` will now be identified as being dead.
## New queries
| **Query** | **Tags** | **Purpose** |
|-----------------------------|-----------|--------------------------------------------------------------------|
| *@name of query (Query ID)* | *Tags* |*Aim of the new query and whether it is enabled by default or not* |
## Changes to existing queries
| **Query** | **Expected impact** | **Change** |
|----------------------------|------------------------|------------------------------------------------------------------|
| *@name of query (Query ID)*| *Impact on results* | *How/why the query has changed* |
## Changes to QL libraries