Merge pull request #1240 from markshannon/python-avoid-ssa-defns-in-tests

Python: Remove callsite refinement ESSA definition in tests
This commit is contained in:
Taus
2019-04-12 12:05:40 +02:00
committed by GitHub
9 changed files with 117 additions and 158 deletions

View File

@@ -446,7 +446,7 @@ cached module SsaSource {
use.(NameNode).uses(v) and
call.getArg(0) = use and
not method_call_refinement(v, _, call) and
not test_refinement(v, _, call)
not test_contains(_, call)
}
/** Holds if an attribute is deleted at `def` and `use` is the use of `v` for that deletion */

View File

@@ -83,9 +83,8 @@
| b_condition.py:34 | x_20 = Pi(x_18) [false] |
| b_condition.py:34 | x_21 = phi(x_19, x_20) |
| b_condition.py:34 | x_22 = ArgumentRefinement(x_21) |
| b_condition.py:36 | x_23 = ArgumentRefinement(x_22) |
| b_condition.py:36 | x_24 = Pi(x_23) [true] |
| b_condition.py:37 | x_25 = ArgumentRefinement(x_24) |
| b_condition.py:36 | x_23 = Pi(x_22) [true] |
| b_condition.py:37 | x_24 = ArgumentRefinement(x_23) |
| b_condition.py:39 | v2_1 = thing() |
| b_condition.py:41 | v2_2 = AttributeAssignment 'x'(v2_1) |
| b_condition.py:43 | v2_3 = Pi(v2_2) [true] |
@@ -133,13 +132,12 @@
| b_condition.py:81 | bar_0 = ScopeEntryDefinition |
| b_condition.py:81 | bar_2 = phi(bar_0, bar_1) |
| b_condition.py:81 | foo_0 = ParameterDefinition |
| b_condition.py:81 | foo_4 = Pi(foo_1) [false] |
| b_condition.py:81 | foo_5 = phi(foo_2, foo_4) |
| b_condition.py:81 | foo_3 = Pi(foo_0) [false] |
| b_condition.py:81 | foo_4 = phi(foo_1, foo_3) |
| b_condition.py:81 | odasa6261_1 = FunctionExpr |
| b_condition.py:82 | foo_1 = ArgumentRefinement(foo_0) |
| b_condition.py:83 | bar_1 = FunctionExpr |
| b_condition.py:83 | foo_2 = Pi(foo_1) [true] |
| b_condition.py:83 | foo_3 = ScopeEntryDefinition |
| b_condition.py:83 | foo_1 = Pi(foo_0) [true] |
| b_condition.py:83 | foo_2 = ScopeEntryDefinition |
| b_condition.py:87 | split_bool1_1 = FunctionExpr |
| b_condition.py:87 | x_0 = ParameterDefinition |
| b_condition.py:87 | y_0 = ParameterDefinition |
@@ -159,10 +157,9 @@
| b_condition.py:99 | x_8 = ArgumentRefinement(x_7) |
| b_condition.py:101 | a_0 = ParameterDefinition |
| b_condition.py:101 | not_or_not_1 = FunctionExpr |
| b_condition.py:102 | a_1 = ArgumentRefinement(a_0) |
| b_condition.py:104 | a_2 = Pi(a_1) [false] |
| b_condition.py:105 | a_3 = Pi(a_2) [false] |
| b_condition.py:107 | a_4 = Pi(a_3) [false] |
| b_condition.py:104 | a_1 = Pi(a_0) [false] |
| b_condition.py:105 | a_2 = Pi(a_1) [false] |
| b_condition.py:107 | a_3 = Pi(a_2) [false] |
| d_globals.py:0 | D_0 = ScopeEntryDefinition |
| d_globals.py:0 | Ugly_0 = ScopeEntryDefinition |
| d_globals.py:0 | X_0 = ScopeEntryDefinition |
@@ -584,23 +581,22 @@
| n_nesting.py:8 | compile_ops_0 = ParameterDefinition |
| n_nesting.py:8 | foo_0 = FunctionExpr |
| n_nesting.py:9 | C_1 = CallsiteRefinement(C_0) |
| n_nesting.py:9 | compile_ops_1 = ArgumentRefinement(compile_ops_0) |
| n_nesting.py:10 | C_5 = ScopeEntryDefinition |
| n_nesting.py:10 | compile_ops_2 = Pi(compile_ops_1) [true] |
| n_nesting.py:10 | compile_ops_3 = ScopeEntryDefinition |
| n_nesting.py:10 | compile_ops_1 = Pi(compile_ops_0) [true] |
| n_nesting.py:10 | compile_ops_2 = ScopeEntryDefinition |
| n_nesting.py:10 | inner_0 = FunctionExpr |
| n_nesting.py:10 | node_def_0 = ParameterDefinition |
| n_nesting.py:11 | C_6 = CallsiteRefinement(C_5) |
| n_nesting.py:11 | node_def_1 = ArgumentRefinement(node_def_0) |
| n_nesting.py:13 | C_7 = ScopeEntryDefinition |
| n_nesting.py:13 | compile_ops_4 = Pi(compile_ops_1) [false] |
| n_nesting.py:13 | compile_ops_5 = ScopeEntryDefinition |
| n_nesting.py:13 | compile_ops_3 = Pi(compile_ops_0) [false] |
| n_nesting.py:13 | compile_ops_4 = ScopeEntryDefinition |
| n_nesting.py:13 | inner_1 = FunctionExpr |
| n_nesting.py:13 | node_def_0 = ParameterDefinition |
| n_nesting.py:14 | C_8 = CallsiteRefinement(C_7) |
| n_nesting.py:14 | node_def_1 = ArgumentRefinement(node_def_0) |
| n_nesting.py:15 | attrs_0 = Dict |
| n_nesting.py:16 | compile_ops_6 = phi(compile_ops_2, compile_ops_4) |
| n_nesting.py:16 | compile_ops_5 = phi(compile_ops_1, compile_ops_3) |
| n_nesting.py:16 | inner_2 = phi(inner_0, inner_1) |
| n_nesting.py:22 | C_9 = ScopeEntryDefinition |
| n_nesting.py:22 | f1_0 = FunctionExpr |

View File

@@ -66,7 +66,6 @@
| b_condition.py:34 | Local Variable x | ArgumentRefinement |
| b_condition.py:34 | Local Variable x | PhiFunction |
| b_condition.py:34 | Local Variable x | PyEdgeRefinement |
| b_condition.py:36 | Local Variable x | ArgumentRefinement |
| b_condition.py:36 | Local Variable x | PyEdgeRefinement |
| b_condition.py:37 | Local Variable x | ArgumentRefinement |
| b_condition.py:39 | Global Variable v2 | AssignmentDefinition |
@@ -116,7 +115,6 @@
| b_condition.py:81 | Local Variable foo | ParameterDefinition |
| b_condition.py:81 | Local Variable foo | PhiFunction |
| b_condition.py:81 | Local Variable foo | PyEdgeRefinement |
| b_condition.py:82 | Local Variable foo | ArgumentRefinement |
| b_condition.py:83 | Local Variable bar | AssignmentDefinition |
| b_condition.py:83 | Local Variable foo | PyEdgeRefinement |
| b_condition.py:83 | Local Variable foo | ScopeEntryDefinition |
@@ -135,7 +133,6 @@
| b_condition.py:99 | Local Variable x | ArgumentRefinement |
| b_condition.py:101 | Global Variable not_or_not | AssignmentDefinition |
| b_condition.py:101 | Local Variable a | ParameterDefinition |
| b_condition.py:102 | Local Variable a | ArgumentRefinement |
| b_condition.py:104 | Local Variable a | PyEdgeRefinement |
| b_condition.py:105 | Local Variable a | PyEdgeRefinement |
| b_condition.py:107 | Local Variable a | PyEdgeRefinement |

View File

@@ -76,12 +76,10 @@
| b_condition.py:34 | x_21 = phi(x_19, x_20) | int 7 | builtin-class int |
| b_condition.py:34 | x_22 = ArgumentRefinement(x_21) | int 1 | builtin-class int |
| b_condition.py:34 | x_22 = ArgumentRefinement(x_21) | int 7 | builtin-class int |
| b_condition.py:36 | x_23 = ArgumentRefinement(x_22) | int 1 | builtin-class int |
| b_condition.py:36 | x_23 = ArgumentRefinement(x_22) | int 7 | builtin-class int |
| b_condition.py:36 | x_24 = Pi(x_23) [true] | int 1 | builtin-class int |
| b_condition.py:36 | x_24 = Pi(x_23) [true] | int 7 | builtin-class int |
| b_condition.py:37 | x_25 = ArgumentRefinement(x_24) | int 1 | builtin-class int |
| b_condition.py:37 | x_25 = ArgumentRefinement(x_24) | int 7 | builtin-class int |
| b_condition.py:36 | x_23 = Pi(x_22) [true] | int 1 | builtin-class int |
| b_condition.py:36 | x_23 = Pi(x_22) [true] | int 7 | builtin-class int |
| b_condition.py:37 | x_24 = ArgumentRefinement(x_23) | int 1 | builtin-class int |
| b_condition.py:37 | x_24 = ArgumentRefinement(x_23) | int 7 | builtin-class int |
| b_condition.py:50 | g_1 = FunctionExpr | Function g | builtin-class function |
| b_condition.py:55 | loop_1 = FunctionExpr | Function loop | builtin-class function |
| b_condition.py:55 | v_0 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
@@ -102,12 +100,11 @@
| b_condition.py:81 | bar_2 = phi(bar_0, bar_1) | *UNDEFINED* | *UNKNOWN TYPE* |
| b_condition.py:81 | bar_2 = phi(bar_0, bar_1) | Function bar | builtin-class function |
| b_condition.py:81 | foo_0 = ParameterDefinition | bool True | builtin-class bool |
| b_condition.py:81 | foo_4 = Pi(foo_1) [false] | bool True | builtin-class bool |
| b_condition.py:81 | foo_5 = phi(foo_2, foo_4) | bool True | builtin-class bool |
| b_condition.py:81 | foo_3 = Pi(foo_0) [false] | bool True | builtin-class bool |
| b_condition.py:81 | foo_4 = phi(foo_1, foo_3) | bool True | builtin-class bool |
| b_condition.py:81 | odasa6261_1 = FunctionExpr | Function odasa6261 | builtin-class function |
| b_condition.py:82 | foo_1 = ArgumentRefinement(foo_0) | bool True | builtin-class bool |
| b_condition.py:83 | bar_1 = FunctionExpr | Function bar | builtin-class function |
| b_condition.py:83 | foo_3 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
| b_condition.py:83 | foo_2 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
| b_condition.py:87 | split_bool1_1 = FunctionExpr | Function split_bool1 | builtin-class function |
| b_condition.py:87 | x_0 = ParameterDefinition | NoneType None | builtin-class NoneType |
| b_condition.py:87 | y_0 = ParameterDefinition | NoneType None | builtin-class NoneType |
@@ -120,10 +117,9 @@
| b_condition.py:97 | x_3 = ArgumentRefinement(x_2) | NoneType None | builtin-class NoneType |
| b_condition.py:101 | a_0 = ParameterDefinition | a | builtin-class tuple |
| b_condition.py:101 | not_or_not_1 = FunctionExpr | Function not_or_not | builtin-class function |
| b_condition.py:102 | a_1 = ArgumentRefinement(a_0) | a | builtin-class tuple |
| b_condition.py:104 | a_2 = Pi(a_1) [false] | a | builtin-class tuple |
| b_condition.py:105 | a_3 = Pi(a_2) [false] | a | builtin-class tuple |
| b_condition.py:107 | a_4 = Pi(a_3) [false] | a | builtin-class tuple |
| b_condition.py:104 | a_1 = Pi(a_0) [false] | a | builtin-class tuple |
| b_condition.py:105 | a_2 = Pi(a_1) [false] | a | builtin-class tuple |
| b_condition.py:107 | a_3 = Pi(a_2) [false] | a | builtin-class tuple |
| c_tests.py:0 | __name___0 = ScopeEntryDefinition | 'code.c_tests' | builtin-class str |
| c_tests.py:0 | __package___0 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
| c_tests.py:4 | f_0 = FunctionExpr | Function f | builtin-class function |
@@ -134,42 +130,32 @@
| c_tests.py:15 | x_2 = IfExp | int 1 | builtin-class int |
| c_tests.py:21 | x_3 = IfExp | List | builtin-class list |
| c_tests.py:21 | x_3 = IfExp | Tuple | builtin-class tuple |
| c_tests.py:23 | x_4 = ArgumentRefinement(x_3) | List | builtin-class list |
| c_tests.py:23 | x_4 = ArgumentRefinement(x_3) | Tuple | builtin-class tuple |
| c_tests.py:24 | x_5 = Pi(x_4) [true] | List | builtin-class list |
| c_tests.py:24 | x_5 = Pi(x_4) [true] | Tuple | builtin-class tuple |
| c_tests.py:26 | x_7 = phi(x_5, x_6) | List | builtin-class list |
| c_tests.py:26 | x_7 = phi(x_5, x_6) | Tuple | builtin-class tuple |
| c_tests.py:26 | x_8 = ArgumentRefinement(x_7) | List | builtin-class list |
| c_tests.py:26 | x_8 = ArgumentRefinement(x_7) | Tuple | builtin-class tuple |
| c_tests.py:27 | x_9 = Pi(x_8) [true] | List | builtin-class list |
| c_tests.py:27 | x_9 = Pi(x_8) [true] | Tuple | builtin-class tuple |
| c_tests.py:29 | x_10 = Pi(x_8) [false] | Tuple | builtin-class tuple |
| c_tests.py:29 | x_11 = phi(x_9, x_10) | List | builtin-class list |
| c_tests.py:29 | x_11 = phi(x_9, x_10) | Tuple | builtin-class tuple |
| c_tests.py:29 | x_12 = ArgumentRefinement(x_11) | List | builtin-class list |
| c_tests.py:29 | x_12 = ArgumentRefinement(x_11) | Tuple | builtin-class tuple |
| c_tests.py:30 | x_13 = Pi(x_12) [true] | Tuple | builtin-class tuple |
| c_tests.py:32 | x_14 = Pi(x_12) [false] | List | builtin-class list |
| c_tests.py:32 | x_15 = phi(x_13, x_14) | List | builtin-class list |
| c_tests.py:32 | x_15 = phi(x_13, x_14) | Tuple | builtin-class tuple |
| c_tests.py:24 | x_4 = Pi(x_3) [true] | List | builtin-class list |
| c_tests.py:24 | x_4 = Pi(x_3) [true] | Tuple | builtin-class tuple |
| c_tests.py:26 | x_6 = phi(x_4, x_5) | List | builtin-class list |
| c_tests.py:26 | x_6 = phi(x_4, x_5) | Tuple | builtin-class tuple |
| c_tests.py:27 | x_7 = Pi(x_6) [true] | List | builtin-class list |
| c_tests.py:27 | x_7 = Pi(x_6) [true] | Tuple | builtin-class tuple |
| c_tests.py:29 | x_8 = Pi(x_6) [false] | Tuple | builtin-class tuple |
| c_tests.py:29 | x_9 = phi(x_7, x_8) | List | builtin-class list |
| c_tests.py:29 | x_9 = phi(x_7, x_8) | Tuple | builtin-class tuple |
| c_tests.py:30 | x_10 = Pi(x_9) [true] | Tuple | builtin-class tuple |
| c_tests.py:32 | x_11 = Pi(x_9) [false] | List | builtin-class list |
| c_tests.py:32 | x_12 = phi(x_10, x_11) | List | builtin-class list |
| c_tests.py:32 | x_12 = phi(x_10, x_11) | Tuple | builtin-class tuple |
| c_tests.py:56 | others_0 = FunctionExpr | Function others | builtin-class function |
| c_tests.py:56 | x_8 = Pi(x_6) [false] | int 0 | builtin-class int |
| c_tests.py:56 | x_9 = phi(x_7, x_8) | builtin-class float | builtin-class type |
| c_tests.py:56 | x_9 = phi(x_7, x_8) | int 0 | builtin-class int |
| c_tests.py:56 | x_6 = Pi(x_4) [false] | int 0 | builtin-class int |
| c_tests.py:56 | x_7 = phi(x_5, x_6) | builtin-class float | builtin-class type |
| c_tests.py:56 | x_7 = phi(x_5, x_6) | int 0 | builtin-class int |
| c_tests.py:58 | x_0 = IfExp | builtin-class bool | builtin-class type |
| c_tests.py:58 | x_0 = IfExp | builtin-class type | builtin-class type |
| c_tests.py:63 | x_1 = IfExp | builtin-class float | builtin-class type |
| c_tests.py:63 | x_1 = IfExp | int 0 | builtin-class int |
| c_tests.py:65 | x_2 = ArgumentRefinement(x_1) | builtin-class float | builtin-class type |
| c_tests.py:65 | x_2 = ArgumentRefinement(x_1) | int 0 | builtin-class int |
| c_tests.py:66 | x_3 = Pi(x_2) [true] | int 0 | builtin-class int |
| c_tests.py:68 | x_4 = Pi(x_2) [false] | builtin-class float | builtin-class type |
| c_tests.py:68 | x_5 = phi(x_3, x_4) | builtin-class float | builtin-class type |
| c_tests.py:68 | x_5 = phi(x_3, x_4) | int 0 | builtin-class int |
| c_tests.py:68 | x_6 = ArgumentRefinement(x_5) | builtin-class float | builtin-class type |
| c_tests.py:68 | x_6 = ArgumentRefinement(x_5) | int 0 | builtin-class int |
| c_tests.py:69 | x_7 = Pi(x_6) [true] | builtin-class float | builtin-class type |
| c_tests.py:66 | x_2 = Pi(x_1) [true] | int 0 | builtin-class int |
| c_tests.py:68 | x_3 = Pi(x_1) [false] | builtin-class float | builtin-class type |
| c_tests.py:68 | x_4 = phi(x_2, x_3) | builtin-class float | builtin-class type |
| c_tests.py:68 | x_4 = phi(x_2, x_3) | int 0 | builtin-class int |
| c_tests.py:69 | x_5 = Pi(x_4) [true] | builtin-class float | builtin-class type |
| c_tests.py:71 | compound_0 = FunctionExpr | Function compound | builtin-class function |
| c_tests.py:71 | x_0 = ParameterDefinition | int 1 | builtin-class int |
| c_tests.py:71 | y_0 = ParameterDefinition | int 0 | builtin-class int |
@@ -482,18 +468,17 @@
| n_nesting.py:8 | compile_ops_0 = ParameterDefinition | bool True | builtin-class bool |
| n_nesting.py:8 | foo_0 = FunctionExpr | Function foo | builtin-class function |
| n_nesting.py:9 | C_1 = CallsiteRefinement(C_0) | int 1 | builtin-class int |
| n_nesting.py:9 | compile_ops_1 = ArgumentRefinement(compile_ops_0) | bool True | builtin-class bool |
| n_nesting.py:10 | C_5 = ScopeEntryDefinition | int 1 | builtin-class int |
| n_nesting.py:10 | compile_ops_3 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
| n_nesting.py:10 | compile_ops_2 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
| n_nesting.py:10 | inner_0 = FunctionExpr | Function inner | builtin-class function |
| n_nesting.py:11 | C_6 = CallsiteRefinement(C_5) | int 1 | builtin-class int |
| n_nesting.py:13 | C_7 = ScopeEntryDefinition | int 1 | builtin-class int |
| n_nesting.py:13 | compile_ops_4 = Pi(compile_ops_1) [false] | bool True | builtin-class bool |
| n_nesting.py:13 | compile_ops_5 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
| n_nesting.py:13 | compile_ops_3 = Pi(compile_ops_0) [false] | bool True | builtin-class bool |
| n_nesting.py:13 | compile_ops_4 = ScopeEntryDefinition | *UNDEFINED* | *UNKNOWN TYPE* |
| n_nesting.py:13 | inner_1 = FunctionExpr | Function inner | builtin-class function |
| n_nesting.py:14 | C_8 = CallsiteRefinement(C_7) | int 1 | builtin-class int |
| n_nesting.py:15 | attrs_0 = Dict | Dict | builtin-class dict |
| n_nesting.py:16 | compile_ops_6 = phi(compile_ops_2, compile_ops_4) | bool True | builtin-class bool |
| n_nesting.py:16 | compile_ops_5 = phi(compile_ops_1, compile_ops_3) | bool True | builtin-class bool |
| n_nesting.py:16 | inner_2 = phi(inner_0, inner_1) | Function inner | builtin-class function |
| n_nesting.py:22 | C_9 = ScopeEntryDefinition | int 1 | builtin-class int |
| n_nesting.py:22 | f1_0 = FunctionExpr | Function f1 | builtin-class function |

View File

@@ -74,7 +74,6 @@
| b_condition.py:31 | Local Variable x | ControlFlowNode for x | definition |
| b_condition.py:33 | Local Variable x | ControlFlowNode for x | definition |
| b_condition.py:34 | Local Variable x | ControlFlowNode for use() | refinement |
| b_condition.py:36 | Local Variable x | ControlFlowNode for isinstance() | refinement |
| b_condition.py:37 | Local Variable x | ControlFlowNode for use() | refinement |
| b_condition.py:39 | Global Variable v2 | ControlFlowNode for v2 | definition |
| b_condition.py:41 | Global Variable v2 | ControlFlowNode for Attribute | refinement |
@@ -100,7 +99,6 @@
| b_condition.py:81 | Global Variable odasa6261 | ControlFlowNode for odasa6261 | definition |
| b_condition.py:81 | Local Variable bar | Entry node for Function odasa6261 | definition |
| b_condition.py:81 | Local Variable foo | ControlFlowNode for foo | definition |
| b_condition.py:82 | Local Variable foo | ControlFlowNode for callable() | refinement |
| b_condition.py:83 | Local Variable bar | ControlFlowNode for bar | definition |
| b_condition.py:83 | Local Variable foo | Entry node for Function bar | definition |
| b_condition.py:87 | Global Variable split_bool1 | ControlFlowNode for split_bool1 | definition |
@@ -117,4 +115,3 @@
| b_condition.py:101 | Global Variable not_or_not | ControlFlowNode for not_or_not | definition |
| b_condition.py:101 | Local Variable a | ControlFlowNode for a | definition |
| b_condition.py:101 | Local Variable a | Entry node for Function not_or_not | definition |
| b_condition.py:102 | Local Variable a | ControlFlowNode for isinstance() | refinement |

View File

@@ -67,7 +67,7 @@
| b_condition.py:0 | odasa6261_1 | Exit node for Module code.b_condition |
| b_condition.py:0 | split_bool1_1 | Exit node for Module code.b_condition |
| b_condition.py:0 | v2_5 | Exit node for Module code.b_condition |
| b_condition.py:4 | x_25 | Exit node for Function f |
| b_condition.py:4 | x_24 | Exit node for Function f |
| b_condition.py:4 | y_0 | Exit node for Function f |
| b_condition.py:7 | x_0 | ControlFlowNode for x |
| b_condition.py:9 | x_3 | ControlFlowNode for x |
@@ -82,7 +82,7 @@
| b_condition.py:32 | x_18 | ControlFlowNode for x |
| b_condition.py:34 | x_21 | ControlFlowNode for x |
| b_condition.py:36 | x_22 | ControlFlowNode for x |
| b_condition.py:37 | x_24 | ControlFlowNode for x |
| b_condition.py:37 | x_23 | ControlFlowNode for x |
| b_condition.py:39 | __name___0 | ControlFlowNode for thing() |
| b_condition.py:39 | __package___0 | ControlFlowNode for thing() |
| b_condition.py:39 | double_attr_check_0 | ControlFlowNode for thing() |
@@ -144,9 +144,9 @@
| b_condition.py:77 | t_0 | ControlFlowNode for t |
| b_condition.py:79 | t_3 | ControlFlowNode for t |
| b_condition.py:81 | bar_2 | Exit node for Function odasa6261 |
| b_condition.py:81 | foo_5 | Exit node for Function odasa6261 |
| b_condition.py:81 | foo_4 | Exit node for Function odasa6261 |
| b_condition.py:82 | foo_0 | ControlFlowNode for foo |
| b_condition.py:84 | foo_3 | ControlFlowNode for foo |
| b_condition.py:84 | foo_2 | ControlFlowNode for foo |
| b_condition.py:87 | x_3 | Exit node for Function split_bool1 |
| b_condition.py:87 | x_8 | Exit node for Function split_bool1 |
| b_condition.py:87 | y_3 | Exit node for Function split_bool1 |
@@ -164,10 +164,10 @@
| b_condition.py:96 | y_5 | ControlFlowNode for y |
| b_condition.py:97 | x_2 | ControlFlowNode for x |
| b_condition.py:99 | x_7 | ControlFlowNode for x |
| b_condition.py:101 | a_4 | Exit node for Function not_or_not |
| b_condition.py:101 | a_3 | Exit node for Function not_or_not |
| b_condition.py:102 | a_0 | ControlFlowNode for a |
| b_condition.py:104 | a_2 | ControlFlowNode for a |
| b_condition.py:105 | a_3 | ControlFlowNode for a |
| b_condition.py:104 | a_1 | ControlFlowNode for a |
| b_condition.py:105 | a_2 | ControlFlowNode for a |
| d_globals.py:0 | D_1 | Exit node for Module code.d_globals |
| d_globals.py:0 | Ugly_1 | Exit node for Module code.d_globals |
| d_globals.py:0 | X_1 | Exit node for Module code.d_globals |

View File

@@ -49,58 +49,50 @@
| sanitizer.py:3 | ParameterDefinition | sanitizer.py:3 | Taint SQL injection | arg |
| sanitizer.py:5 | ParameterDefinition | sanitizer.py:5 | Taint Command injection | arg |
| sanitizer.py:5 | ParameterDefinition | sanitizer.py:5 | Taint SQL injection | arg |
| sanitizer.py:8 | phi(x_3, x_5) | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:8 | phi(x_3, x_5) | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:8 | phi(x_2, x_4) | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:8 | phi(x_2, x_4) | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:9 | user_input() | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:9 | user_input() | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:10 | ArgumentRefinement(x_0) | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:10 | ArgumentRefinement(x_0) | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:11 | ArgumentRefinement(x_2) | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:11 | Pi(x_1) [true] | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | ArgumentRefinement(x_4) | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | ArgumentRefinement(x_4) | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:13 | Pi(x_1) [false] | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | Pi(x_1) [false] | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:15 | phi(x_3, x_5) | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:15 | phi(x_3, x_5) | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:11 | ArgumentRefinement(x_1) | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:11 | Pi(x_0) [true] | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | ArgumentRefinement(x_3) | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | ArgumentRefinement(x_3) | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:13 | Pi(x_0) [false] | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | Pi(x_0) [false] | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:15 | phi(x_2, x_4) | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:15 | phi(x_2, x_4) | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:16 | user_input() | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:16 | user_input() | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:17 | ArgumentRefinement(x_0) | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:17 | ArgumentRefinement(x_0) | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:18 | ArgumentRefinement(x_2) | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:18 | Pi(x_1) [true] | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:20 | ArgumentRefinement(x_4) | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:20 | ArgumentRefinement(x_4) | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:20 | Pi(x_1) [false] | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:20 | Pi(x_1) [false] | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:23 | phi(x_3, x_5) | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:23 | phi(x_3, x_5) | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:18 | ArgumentRefinement(x_1) | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:18 | Pi(x_0) [true] | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:20 | ArgumentRefinement(x_3) | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:20 | ArgumentRefinement(x_3) | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:20 | Pi(x_0) [false] | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:20 | Pi(x_0) [false] | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:23 | phi(x_2, x_4) | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:23 | phi(x_2, x_4) | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:24 | user_input() | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:24 | user_input() | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:25 | ArgumentRefinement(x_0) | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:25 | ArgumentRefinement(x_0) | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:26 | ArgumentRefinement(x_2) | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:26 | ArgumentRefinement(x_2) | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:26 | Pi(x_1) [true] | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:26 | Pi(x_1) [true] | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:28 | ArgumentRefinement(x_4) | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:28 | ArgumentRefinement(x_4) | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:28 | Pi(x_1) [false] | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:28 | Pi(x_1) [false] | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:30 | phi(x_3, x_5) | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:30 | phi(x_3, x_5) | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:26 | ArgumentRefinement(x_1) | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:26 | ArgumentRefinement(x_1) | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:26 | Pi(x_0) [true] | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:26 | Pi(x_0) [true] | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:28 | ArgumentRefinement(x_3) | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:28 | ArgumentRefinement(x_3) | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:28 | Pi(x_0) [false] | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:28 | Pi(x_0) [false] | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:30 | phi(x_2, x_4) | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:30 | phi(x_2, x_4) | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:31 | user_input() | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:31 | user_input() | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:32 | ArgumentRefinement(x_0) | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:32 | ArgumentRefinement(x_0) | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:33 | ArgumentRefinement(x_2) | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:33 | ArgumentRefinement(x_2) | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:33 | Pi(x_1) [true] | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:33 | Pi(x_1) [true] | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:35 | ArgumentRefinement(x_4) | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:35 | ArgumentRefinement(x_4) | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:35 | Pi(x_1) [false] | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:35 | Pi(x_1) [false] | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:33 | ArgumentRefinement(x_1) | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:33 | ArgumentRefinement(x_1) | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:33 | Pi(x_0) [true] | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:33 | Pi(x_0) [true] | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:35 | ArgumentRefinement(x_3) | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:35 | ArgumentRefinement(x_3) | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:35 | Pi(x_0) [false] | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:35 | Pi(x_0) [false] | sanitizer.py:31 | Taint SQL injection | user_input() |
| test.py:6 | SOURCE | test.py:6 | Taint simple.test | SOURCE |
| test.py:7 | ArgumentRefinement(s_0) | test.py:6 | Taint simple.test | SOURCE |
| test.py:12 | ParameterDefinition | test.py:12 | Taint simple.test | arg |

View File

@@ -1,2 +1,2 @@
| Command sanitizer | Command injection | sanitizer.py:18 | Pi(x_1) [true] |
| SQL sanitizer | SQL injection | sanitizer.py:11 | Pi(x_1) [true] |
| Command sanitizer | Command injection | sanitizer.py:18 | Pi(x_0) [true] |
| SQL sanitizer | SQL injection | sanitizer.py:11 | Pi(x_0) [true] |

View File

@@ -49,58 +49,50 @@
| sanitizer.py:3 | arg_0 | sanitizer.py:3 | Taint SQL injection | arg |
| sanitizer.py:5 | arg_0 | sanitizer.py:5 | Taint Command injection | arg |
| sanitizer.py:5 | arg_0 | sanitizer.py:5 | Taint SQL injection | arg |
| sanitizer.py:8 | x_6 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:8 | x_6 | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:8 | x_5 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:8 | x_5 | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:9 | x_0 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:9 | x_0 | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:10 | x_1 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:10 | x_1 | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:11 | x_1 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:11 | x_2 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:11 | x_3 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | x_3 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | x_3 | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:13 | x_4 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | x_4 | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:13 | x_5 | sanitizer.py:9 | Taint Command injection | user_input() |
| sanitizer.py:13 | x_5 | sanitizer.py:9 | Taint SQL injection | user_input() |
| sanitizer.py:15 | x_6 | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:15 | x_6 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:15 | x_5 | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:15 | x_5 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:16 | x_0 | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:16 | x_0 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:17 | x_1 | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:17 | x_1 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:18 | x_1 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:18 | x_2 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:18 | x_3 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:20 | x_3 | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:20 | x_3 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:20 | x_4 | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:20 | x_4 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:20 | x_5 | sanitizer.py:16 | Taint Command injection | user_input() |
| sanitizer.py:20 | x_5 | sanitizer.py:16 | Taint SQL injection | user_input() |
| sanitizer.py:23 | x_6 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:23 | x_6 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:23 | x_5 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:23 | x_5 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:24 | x_0 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:24 | x_0 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:25 | x_1 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:25 | x_1 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:26 | x_1 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:26 | x_1 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:26 | x_2 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:26 | x_2 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:26 | x_3 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:26 | x_3 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:28 | x_3 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:28 | x_3 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:28 | x_4 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:28 | x_4 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:28 | x_5 | sanitizer.py:24 | Taint Command injection | user_input() |
| sanitizer.py:28 | x_5 | sanitizer.py:24 | Taint SQL injection | user_input() |
| sanitizer.py:30 | x_6 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:30 | x_6 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:30 | x_5 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:30 | x_5 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:31 | x_0 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:31 | x_0 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:32 | x_1 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:32 | x_1 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:33 | x_1 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:33 | x_1 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:33 | x_2 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:33 | x_2 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:33 | x_3 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:33 | x_3 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:35 | x_3 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:35 | x_3 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:35 | x_4 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:35 | x_4 | sanitizer.py:31 | Taint SQL injection | user_input() |
| sanitizer.py:35 | x_5 | sanitizer.py:31 | Taint Command injection | user_input() |
| sanitizer.py:35 | x_5 | sanitizer.py:31 | Taint SQL injection | user_input() |
| test.py:6 | s_0 | test.py:6 | Taint simple.test | SOURCE |
| test.py:7 | s_1 | test.py:6 | Taint simple.test | SOURCE |
| test.py:12 | arg_0 | test.py:12 | Taint simple.test | arg |