diff --git a/lisa/lisa-analyses/imp-testcases/available-expressions/report.json b/lisa/lisa-analyses/imp-testcases/available-expressions/report.json index 2bacb896d..119d40e90 100644 --- a/lisa/lisa-analyses/imp-testcases/available-expressions/report.json +++ b/lisa/lisa-analyses/imp-testcases/available-expressions/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_ae.f0(ae__this).json", "untyped_ae.f1(ae__this).json", "untyped_ae.f2(ae__this).json", "untyped_ae.f3(ae__this).json", "untyped_ae.f4(ae__this).json" ], "info" : { "cfgs" : "5", - "duration" : "1s 166ms", - "end" : "2023-03-16T22:39:53.870+01:00", + "duration" : "1s 596ms", + "end" : "2023-04-20T12:45:16.971+02:00", "expressions" : "151", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-03-16T22:39:52.704+01:00", + "start" : "2023-04-20T12:45:15.375+02:00", "statements" : "54", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/bricks/report.json b/lisa/lisa-analyses/imp-testcases/bricks/report.json index 3988689f4..5e14aef8d 100644 --- a/lisa/lisa-analyses/imp-testcases/bricks/report.json +++ b/lisa/lisa-analyses/imp-testcases/bricks/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_bricks.m1(bricks__this).json", "untyped_bricks.m2(bricks__this,_untyped_x).json", "untyped_bricks.m3(bricks__this,_untyped_x).json" ], "info" : { "cfgs" : "3", - "duration" : "840ms", - "end" : "2023-03-17T17:37:31.334+01:00", + "duration" : "69ms", + "end" : "2023-04-20T12:45:39.221+02:00", "expressions" : "24", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-17T17:37:30.494+01:00", + "start" : "2023-04-20T12:45:39.152+02:00", "statements" : "13", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/char-inclusion/report.json b/lisa/lisa-analyses/imp-testcases/char-inclusion/report.json index 8bfe8da99..c102ccff9 100644 --- a/lisa/lisa-analyses/imp-testcases/char-inclusion/report.json +++ b/lisa/lisa-analyses/imp-testcases/char-inclusion/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_ci.m1(ci__this).json", "untyped_ci.m2(ci__this,_untyped_x).json", "untyped_ci.m3(ci__this,_untyped_x).json" ], "info" : { "cfgs" : "3", - "duration" : "53ms", - "end" : "2023-03-16T22:40:04.706+01:00", + "duration" : "44ms", + "end" : "2023-04-20T12:45:39.324+02:00", "expressions" : "24", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:04.653+01:00", + "start" : "2023-04-20T12:45:39.280+02:00", "statements" : "13", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/constant-propagation-df/report.json b/lisa/lisa-analyses/imp-testcases/constant-propagation-df/report.json index 144a9c3a6..a612f7710 100644 --- a/lisa/lisa-analyses/imp-testcases/constant-propagation-df/report.json +++ b/lisa/lisa-analyses/imp-testcases/constant-propagation-df/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_cp.f0(cp__this).json", "untyped_cp.f1(cp__this,_untyped_x,_untyped_y).json", "untyped_cp.f2(cp__this).json", "untyped_cp.f3(cp__this,_untyped_x,_untyped_y).json", "untyped_cp.f4(cp__this,_untyped_x,_untyped_y).json" ], "info" : { "cfgs" : "5", - "duration" : "133ms", - "end" : "2023-03-16T22:39:55.346+01:00", + "duration" : "167ms", + "end" : "2023-04-20T12:45:18.621+02:00", "expressions" : "71", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-03-16T22:39:55.213+01:00", + "start" : "2023-04-20T12:45:18.454+02:00", "statements" : "33", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/descending-maxglb/report.json b/lisa/lisa-analyses/imp-testcases/descending-maxglb/report.json index 8c18a9b34..cd571984c 100644 --- a/lisa/lisa-analyses/imp-testcases/descending-maxglb/report.json +++ b/lisa/lisa-analyses/imp-testcases/descending-maxglb/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.doublewhile(tutorial__this,_untyped_t).json", "untyped_tutorial.intv_dec(tutorial__this).json", "untyped_tutorial.sat(tutorial__this).json", "untyped_tutorial.sat2(tutorial__this).json" ], "info" : { "cfgs" : "4", - "duration" : "100ms", - "end" : "2023-03-16T22:39:56.785+01:00", + "duration" : "129ms", + "end" : "2023-04-20T12:45:20.846+02:00", "expressions" : "52", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-16T22:39:56.685+01:00", + "start" : "2023-04-20T12:45:20.717+02:00", "statements" : "21", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/descending-widening/report.json b/lisa/lisa-analyses/imp-testcases/descending-widening/report.json index 5a1686365..8b322c1e9 100644 --- a/lisa/lisa-analyses/imp-testcases/descending-widening/report.json +++ b/lisa/lisa-analyses/imp-testcases/descending-widening/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.doublewhile(tutorial__this,_untyped_t).json", "untyped_tutorial.intv_dec(tutorial__this).json", "untyped_tutorial.sat(tutorial__this).json", "untyped_tutorial.sat2(tutorial__this).json" ], "info" : { "cfgs" : "4", - "duration" : "142ms", - "end" : "2023-03-16T22:39:56.340+01:00", + "duration" : "254ms", + "end" : "2023-04-20T12:45:20.238+02:00", "expressions" : "52", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-16T22:39:56.198+01:00", + "start" : "2023-04-20T12:45:19.984+02:00", "statements" : "21", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/fsa/report.json b/lisa/lisa-analyses/imp-testcases/fsa/report.json index 1fe3805ab..0ede1c09b 100644 --- a/lisa/lisa-analyses/imp-testcases/fsa/report.json +++ b/lisa/lisa-analyses/imp-testcases/fsa/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_fsa.branching(fsa__this,_untyped_x).json", "untyped_fsa.constants(fsa__this).json", "untyped_fsa.loops(fsa__this,_untyped_x).json" ], "info" : { "cfgs" : "3", - "duration" : "387ms", - "end" : "2023-03-16T22:40:05.294+01:00", + "duration" : "384ms", + "end" : "2023-04-20T12:45:39.848+02:00", "expressions" : "20", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:04.907+01:00", + "start" : "2023-04-20T12:45:39.464+02:00", "statements" : "12", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-insensitive/report.json b/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-insensitive/report.json index 8c6b4a755..d7ec3ed34 100644 --- a/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-insensitive/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_A.f1(A__this).json", "untyped_A.f10(A__this).json", "untyped_A.f2(A__this).json", "untyped_A.f3(A__this).json", "untyped_A.f4(A__this).json", "untyped_A.f5(A__this).json", "untyped_A.f6(A__this).json", "untyped_A.f7(A__this).json", "untyped_A.f8(A__this).json", "untyped_A.f9(A__this).json" ], "info" : { "cfgs" : "10", - "duration" : "185ms", - "end" : "2023-03-16T22:39:58.192+01:00", + "duration" : "216ms", + "end" : "2023-04-20T12:45:22.710+02:00", "expressions" : "144", "files" : "10", "globals" : "2", "members" : "10", "programs" : "1", - "start" : "2023-03-16T22:39:58.007+01:00", + "start" : "2023-04-20T12:45:22.494+02:00", "statements" : "56", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-sensitive/report.json b/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-sensitive/report.json index ee3b9a601..d42767baa 100644 --- a/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-sensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/heap/point-based-heap/field-sensitive/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_A.f1(A__this).json", "untyped_A.f2(A__this).json", "untyped_A.f3(A__this).json", "untyped_A.f4(A__this).json", "untyped_A.f5(A__this).json", "untyped_A.f6(A__this).json", "untyped_A.f7(A__this).json", "untyped_A.f8(A__this).json", "untyped_A.f9(A__this).json" ], "info" : { "cfgs" : "9", - "duration" : "271ms", - "end" : "2023-03-16T22:39:57.402+01:00", + "duration" : "313ms", + "end" : "2023-04-20T12:45:21.670+02:00", "expressions" : "143", "files" : "9", "globals" : "2", "members" : "9", "programs" : "1", - "start" : "2023-03-16T22:39:57.131+01:00", + "start" : "2023-04-20T12:45:21.357+02:00", "statements" : "55", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/heap/type-based-heap/report.json b/lisa/lisa-analyses/imp-testcases/heap/type-based-heap/report.json index a91c1db33..495c194fc 100644 --- a/lisa/lisa-analyses/imp-testcases/heap/type-based-heap/report.json +++ b/lisa/lisa-analyses/imp-testcases/heap/type-based-heap/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_A.f1(A__this).json", "untyped_A.f2(A__this).json", "untyped_A.f3(A__this).json", "untyped_A.f4(A__this).json", "untyped_A.f5(A__this).json" ], "info" : { "cfgs" : "5", - "duration" : "877ms", - "end" : "2023-03-17T11:41:28.345+01:00", + "duration" : "153ms", + "end" : "2023-04-20T12:45:23.512+02:00", "expressions" : "75", "files" : "5", "globals" : "2", "members" : "5", "programs" : "1", - "start" : "2023-03-17T11:41:27.468+01:00", + "start" : "2023-04-20T12:45:23.359+02:00", "statements" : "27", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/int-const/report.json b/lisa/lisa-analyses/imp-testcases/int-const/report.json index 13160b622..21b60279a 100644 --- a/lisa/lisa-analyses/imp-testcases/int-const/report.json +++ b/lisa/lisa-analyses/imp-testcases/int-const/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.constants(tutorial__this).json", "untyped_tutorial.div(tutorial__this,_untyped_i,_untyped_j).json", "untyped_tutorial.gcd(tutorial__this,_untyped_a,_untyped_b).json", "untyped_tutorial.glb(tutorial__this,_untyped_x,_untyped_y).json", "untyped_tutorial.intv_dec(tutorial__this).json", "untyped_tutorial.sign_parity_example(tutorial__this).json", "untyped_tutorial.ub_example(tutorial__this,_untyped_y,_untyped_z).json" ], "info" : { "cfgs" : "7", - "duration" : "92ms", - "end" : "2023-03-16T22:40:03.327+01:00", + "duration" : "109ms", + "end" : "2023-04-20T12:45:38.052+02:00", "expressions" : "77", "files" : "7", "globals" : "0", "members" : "7", "programs" : "1", - "start" : "2023-03-16T22:40:03.235+01:00", + "start" : "2023-04-20T12:45:37.943+02:00", "statements" : "32", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/CHA/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/CHA/report.json index fb0fa9a9d..6b556207c 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/CHA/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/CHA/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_A.foo(A__this).json", "untyped_B.foo(B__this).json", "untyped_tests.subtyping(tests__this).json" ], "info" : { "cfgs" : "3", - "duration" : "36ms", - "end" : "2023-03-16T22:40:00.497+01:00", + "duration" : "45ms", + "end" : "2023-04-20T12:45:26.007+02:00", "expressions" : "11", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:00.461+01:00", + "start" : "2023-04-20T12:45:25.962+02:00", "statements" : "8", "units" : "3", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTA/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTA/report.json index 9392d693b..e669526bd 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTA/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTA/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_A.foo(A__this).json", "untyped_B.foo(B__this).json", "untyped_tests.subtyping(tests__this).json" ], "info" : { "cfgs" : "3", - "duration" : "34ms", - "end" : "2023-03-16T22:40:00.385+01:00", + "duration" : "43ms", + "end" : "2023-04-20T12:45:25.834+02:00", "expressions" : "11", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:00.351+01:00", + "start" : "2023-04-20T12:45:25.791+02:00", "statements" : "8", "units" : "3", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json index 9a58571ad..6af1eaa0b 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.A(A__this)_-1137467753.json", "untyped_A.getOne(A__this)_-1136543333.json", "untyped_A.getPositive(A__this,_untyped_i)_-1134695237.json", "untyped_A.getPositive(A__this,_untyped_i)_-1135618727.json", "untyped_tests.main(tests__this).json" ], + "files" : [ "report.json", "untyped_A.A(A__this)_1677856240.json", "untyped_A.getOne(A__this)_1677863959.json", "untyped_A.getPositive(A__this,_untyped_i)_1677876514.json", "untyped_A.getPositive(A__this,_untyped_i)_1677877444.json", "untyped_tests.main(tests__this).json" ], "info" : { "cfgs" : "5", - "duration" : "123ms", - "end" : "2023-03-16T22:39:59.237+01:00", + "duration" : "142ms", + "end" : "2023-04-20T12:45:23.913+02:00", "expressions" : "26", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-03-16T22:39:59.114+01:00", + "start" : "2023-04-20T12:45:23.771+02:00", "statements" : "14", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.A(A__this)_-1137467753.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.A(A__this)_1677856240.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.A(A__this)_-1137467753.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.A(A__this)_1677856240.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getOne(A__this)_-1136543333.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getOne(A__this)_1677863959.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getOne(A__this)_-1136543333.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getOne(A__this)_1677863959.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_-1134695237.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_1677876514.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_-1134695237.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_1677876514.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_-1135618727.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_1677877444.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_-1135618727.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/untyped_A.getPositive(A__this,_untyped_i)_1677877444.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/report.json index e15ce29c9..dab9b7940 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.A(A__this)_-1429946402.json", "untyped_A.identity(A__this,_untyped_i)_-1402239687.json", "untyped_A.identity(A__this,_untyped_i)_-1426250396.json", "untyped_A.identity(A__this,_untyped_i)_-1428098244.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1425327712.json", "untyped_tests.main(tests__this).json" ], + "files" : [ "report.json", "untyped_A.A(A__this)_1678785558.json", "untyped_A.identity(A__this,_untyped_i)_1678799291.json", "untyped_A.identity(A__this,_untyped_i)_1678800035.json", "untyped_A.identity(A__this,_untyped_i)_1678804902.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1678799167.json", "untyped_tests.main(tests__this).json" ], "info" : { "cfgs" : "6", - "duration" : "93ms", - "end" : "2023-03-16T22:39:59.450+01:00", + "duration" : "141ms", + "end" : "2023-04-20T12:45:24.270+02:00", "expressions" : "35", "files" : "6", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:39:59.357+01:00", + "start" : "2023-04-20T12:45:24.129+02:00", "statements" : "17", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.A(A__this)_-1429946402.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.A(A__this)_1678785558.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.A(A__this)_-1429946402.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.A(A__this)_1678785558.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_-1402239687.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_1678799291.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_-1402239687.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_1678799291.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_-1428098244.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_1678800035.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_-1428098244.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_1678800035.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_-1426250396.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_1678804902.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_-1426250396.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_A.identity(A__this,_untyped_i)_1678804902.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1425327712.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1678799167.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1425327712.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1678799167.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/report.json index f2f60aa90..7ea5d5268 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.A(A__this)_-1723349409.json", "untyped_A.identity(A__this,_untyped_i)_-1696566215.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1719653279.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1721500476.json", "untyped_tests.main(tests__this).json" ], + "files" : [ "report.json", "untyped_A.A(A__this)_1679709079.json", "untyped_A.identity(A__this,_untyped_i)_1679722781.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json", "untyped_tests.main(tests__this).json" ], "info" : { "cfgs" : "6", - "duration" : "91ms", - "end" : "2023-03-16T22:39:59.664+01:00", + "duration" : "110ms", + "end" : "2023-04-20T12:45:24.681+02:00", "expressions" : "32", "files" : "5", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:39:59.573+01:00", + "start" : "2023-04-20T12:45:24.571+02:00", "statements" : "16", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.A(A__this)_-1723349409.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.A(A__this)_1679709079.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.A(A__this)_-1723349409.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.A(A__this)_1679709079.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.identity(A__this,_untyped_i)_-1696566215.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.identity(A__this,_untyped_i)_1679722781.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.identity(A__this,_untyped_i)_-1696566215.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_A.identity(A__this,_untyped_i)_1679722781.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1721500476.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1721500476.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1719653279.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1719653279.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/report.json index 221cfff26..bbd02f260 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.A(A__this)_-948740509.json", "untyped_A.identity(A__this,_untyped_i)_-1372173420.json", "untyped_A.identity(A__this,_untyped_i)_1187802577.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-834160479.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-891423586.json", "untyped_tests.main(tests__this).json" ], + "files" : [ "report.json", "untyped_A.A(A__this)_1679709079.json", "untyped_A.identity(A__this,_untyped_i)_-2083151821.json", "untyped_A.identity(A__this,_untyped_i)_-2083302698.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json", "untyped_tests.main(tests__this).json" ], "info" : { "cfgs" : "6", - "duration" : "80ms", - "end" : "2023-03-16T22:39:59.857+01:00", + "duration" : "94ms", + "end" : "2023-04-20T12:45:25.042+02:00", "expressions" : "32", "files" : "6", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:39:59.777+01:00", + "start" : "2023-04-20T12:45:24.948+02:00", "statements" : "16", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_-948740509.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_-948740509.json deleted file mode 100644 index fbc0779e8..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_-948740509.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped A::A(A* this)","description":"[['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]]","nodes":[{"id":0,"subNodes":[1,2],"text":"i1 = 0"},{"id":1,"text":"i1"},{"id":2,"text":"0"},{"id":3,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["i1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"i1":["int32"],"this":["A"]},"value":{"i1":"0"}}}},{"nodeId":1,"description":{"expressions":["i1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"this":["A"]},"value":"#TOP#"}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"this":["A"]},"value":"#TOP#"}}},{"nodeId":3,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"i1":["int32"],"this":["A"]},"value":{"i1":"0"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_1679709079.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_1679709079.json new file mode 100644 index 000000000..966ed846a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_1679709079.json @@ -0,0 +1 @@ +{"name":"untyped A::A(A* this)","description":"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]","nodes":[{"id":0,"subNodes":[1,2],"text":"i1 = 0"},{"id":1,"text":"i1"},{"id":2,"text":"0"},{"id":3,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["i1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"i1":["int32"],"this":["A"]},"value":{"i1":"0"}}}},{"nodeId":1,"description":{"expressions":["i1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"this":["A"]},"value":"#TOP#"}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"this":["A"]},"value":"#TOP#"}}},{"nodeId":3,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:$lisareceiver":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':24:22]:this":["tests*"],"i1":["int32"],"this":["A"]},"value":{"i1":"0"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-1372173420.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-1372173420.json deleted file mode 100644 index 08b19dd67..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-1372173420.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped A::identity(A* this, untyped i)","description":"[['imp-testcases/interprocedural/programContextSensitive3.imp':28:46], ['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]]","nodes":[{"id":0,"subNodes":[1,2],"text":"i3 = 1"},{"id":1,"text":"i3"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return i"},{"id":4,"text":"i"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-","i3":"+"}}}},{"nodeId":1,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-"}}}},{"nodeId":3,"description":{"expressions":["ret_value@identity"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"ret_value@identity":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-","i3":"+","ret_value@identity":"-"}}}},{"nodeId":4,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-","i3":"+"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083151821.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083151821.json new file mode 100644 index 000000000..8e142c92e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083151821.json @@ -0,0 +1 @@ +{"name":"untyped A::identity(A* this, untyped i)","description":"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46, 'imp-testcases/interprocedural/programContextSensitive3.imp':32:36]","nodes":[{"id":0,"subNodes":[1,2],"text":"i3 = 1"},{"id":1,"text":"i3"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return i"},{"id":4,"text":"i"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-","i3":"+"}}}},{"nodeId":1,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-"}}}},{"nodeId":3,"description":{"expressions":["ret_value@identity"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"ret_value@identity":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-","i3":"+","ret_value@identity":"-"}}}},{"nodeId":4,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"-","i":"-","i3":"+"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083302698.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083302698.json new file mode 100644 index 000000000..064ec0e47 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083302698.json @@ -0,0 +1 @@ +{"name":"untyped A::identity(A* this, untyped i)","description":"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41, 'imp-testcases/interprocedural/programContextSensitive3.imp':32:36]","nodes":[{"id":0,"subNodes":[1,2],"text":"i3 = 1"},{"id":1,"text":"i3"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return i"},{"id":4,"text":"i"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+","i3":"+"}}}},{"nodeId":1,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+"}}}},{"nodeId":3,"description":{"expressions":["ret_value@identity"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"ret_value@identity":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+","i3":"+","ret_value@identity":"+"}}}},{"nodeId":4,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+","i3":"+"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_1187802577.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_1187802577.json deleted file mode 100644 index d2a10fa1a..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_1187802577.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped A::identity(A* this, untyped i)","description":"[['imp-testcases/interprocedural/programContextSensitive3.imp':26:41], ['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]]","nodes":[{"id":0,"subNodes":[1,2],"text":"i3 = 1"},{"id":1,"text":"i3"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return i"},{"id":4,"text":"i"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+","i3":"+"}}}},{"nodeId":1,"description":{"expressions":["i3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+"}}}},{"nodeId":3,"description":{"expressions":["ret_value@identity"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"ret_value@identity":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+","i3":"+","ret_value@identity":"+"}}}},{"nodeId":4,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:dispatcher":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:this":["tests*"],"heap[w]:heap":["A"],"i":["int32"],"i3":["int32"],"this":["A*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':32:36]:i":"+","i":"+","i3":"+"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-834160479.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-834160479.json deleted file mode 100644 index 38ab79256..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-834160479.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::helper(tests* this, untyped i, untyped dispatcher)","description":"[['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]]","nodes":[{"id":0,"subNodes":[1],"text":"return identity(dispatcher, i)"},{"id":1,"subNodes":[2,3],"text":"identity(dispatcher, i)"},{"id":2,"text":"dispatcher"},{"id":3,"text":"i"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@helper"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"ret_value@helper":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","i":"-","ret_value@helper":"-"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":["int32"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":"-","i":"-"}}}},{"nodeId":2,"description":{"expressions":["dispatcher"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","i":"-"}}}},{"nodeId":3,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","i":"-"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-891423586.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-891423586.json deleted file mode 100644 index 3c10c8cf0..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-891423586.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::helper(tests* this, untyped i, untyped dispatcher)","description":"[['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]]","nodes":[{"id":0,"subNodes":[1],"text":"return identity(dispatcher, i)"},{"id":1,"subNodes":[2,3],"text":"identity(dispatcher, i)"},{"id":2,"text":"dispatcher"},{"id":3,"text":"i"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@helper"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"ret_value@helper":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","i":"+","ret_value@helper":"+"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":["int32"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":"+","i":"+"}}}},{"nodeId":2,"description":{"expressions":["dispatcher"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","i":"+"}}}},{"nodeId":3,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","i":"+"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json new file mode 100644 index 000000000..3ee48d37a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json @@ -0,0 +1 @@ +{"name":"untyped tests::helper(tests* this, untyped i, untyped dispatcher)","description":"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]","nodes":[{"id":0,"subNodes":[1],"text":"return identity(dispatcher, i)"},{"id":1,"subNodes":[2,3],"text":"identity(dispatcher, i)"},{"id":2,"text":"dispatcher"},{"id":3,"text":"i"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@helper"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"ret_value@helper":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","i":"+","ret_value@helper":"+"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":["int32"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":"+","i":"+"}}}},{"nodeId":2,"description":{"expressions":["dispatcher"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","i":"+"}}}},{"nodeId":3,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':26:41]:one":"+","i":"+"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json new file mode 100644 index 000000000..cec5a2258 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json @@ -0,0 +1 @@ +{"name":"untyped tests::helper(tests* this, untyped i, untyped dispatcher)","description":"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]","nodes":[{"id":0,"subNodes":[1],"text":"return identity(dispatcher, i)"},{"id":1,"subNodes":[2,3],"text":"identity(dispatcher, i)"},{"id":2,"text":"dispatcher"},{"id":3,"text":"i"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@helper"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"ret_value@helper":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","i":"-","ret_value@helper":"-"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":["int32"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","call_ret_value@'imp-testcases/interprocedural/programContextSensitive3.imp':32:36":"-","i":"-"}}}},{"nodeId":2,"description":{"expressions":["dispatcher"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","i":"-"}}}},{"nodeId":3,"description":{"expressions":["i"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:a":["A*"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":["int32"],"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:this":["tests*"],"dispatcher":["A*"],"heap[w]:heap":["A"],"i":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:minusone":"-","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:one":"+","['imp-testcases/interprocedural/programContextSensitive3.imp':28:46]:positive":"+","i":"-"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/report.json index 0a2d22af9..88750c43c 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2041686398.json", "untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2042609950.json", "untyped_A.identity(A__this,_untyped_x)_1603223804.json", "untyped_A.main(A__this).json" ], + "files" : [ "report.json", "untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680644876.json", "untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680645868.json", "untyped_A.identity(A__this,_untyped_x)_1680635948.json", "untyped_A.main(A__this).json" ], "info" : { "cfgs" : "3", "duration" : "94ms", - "end" : "2023-03-16T22:40:00.063+01:00", + "end" : "2023-04-20T12:45:25.359+02:00", "expressions" : "33", "files" : "4", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:39:59.969+01:00", + "start" : "2023-04-20T12:45:25.265+02:00", "statements" : "10", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2042609950.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680644876.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2042609950.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680644876.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2041686398.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680645868.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2041686398.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680645868.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.identity(A__this,_untyped_x)_1603223804.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.identity(A__this,_untyped_x)_1680635948.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.identity(A__this,_untyped_x)_1603223804.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/untyped_A.identity(A__this,_untyped_x)_1680635948.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/report.json index ca36ac5c6..5ef1a7d3d 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.build(A__this,_untyped_a)_1957107173.json", "untyped_A.main(A__this).json", "untyped_A.plusOne(A__this,_untyped_x)_1730459450.json" ], + "files" : [ "report.json", "untyped_A.build(A__this,_untyped_a)_1681564491.json", "untyped_A.main(A__this).json", "untyped_A.plusOne(A__this,_untyped_x)_1681558446.json" ], "info" : { "cfgs" : "3", - "duration" : "54ms", - "end" : "2023-03-16T22:40:00.253+01:00", + "duration" : "51ms", + "end" : "2023-04-20T12:45:25.649+02:00", "expressions" : "23", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:00.199+01:00", + "start" : "2023-04-20T12:45:25.598+02:00", "statements" : "7", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.build(A__this,_untyped_a)_1957107173.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.build(A__this,_untyped_a)_1681564491.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.build(A__this,_untyped_a)_1957107173.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.build(A__this,_untyped_a)_1681564491.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.plusOne(A__this,_untyped_x)_1730459450.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.plusOne(A__this,_untyped_x)_1681558446.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.plusOne(A__this,_untyped_x)_1730459450.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/untyped_A.plusOne(A__this,_untyped_x)_1681558446.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial.imp new file mode 100644 index 000000000..def842af9 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial.imp @@ -0,0 +1,15 @@ +class factorial { + + factorial(n) { + if (n <= 1) + return 1; + else { + def x = n - 1; + return this.factorial(x) * n; + } + } + + main(a) { + def x = this.factorial(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json new file mode 100644 index 000000000..20e1710ba --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "59ms", + "end" : "2023-04-20T12:45:26.199+02:00", + "expressions" : "16", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:26.140+02:00", + "statements" : "6", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorial/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json new file mode 100644 index 000000000..0850a76fc --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":"['imp-testcases/interprocedural/factorial.imp':13:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return *(factorial(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"*(factorial(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"factorial(this, x)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..df6433760 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json new file mode 100644 index 000000000..8abecb948 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n).json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "46ms", + "end" : "2023-04-20T12:45:26.379+02:00", + "expressions" : "16", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:26.333+02:00", + "statements" : "6", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorial/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json new file mode 100644 index 000000000..6d44752a0 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return *(factorial(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"*(factorial(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"factorial(this, x)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..df6433760 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json new file mode 100644 index 000000000..63041894c --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "103ms", + "end" : "2023-04-20T12:45:27.649+02:00", + "expressions" : "16", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:27.546+02:00", + "statements" : "6", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorial/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json new file mode 100644 index 000000000..0850a76fc --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":"['imp-testcases/interprocedural/factorial.imp':13:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return *(factorial(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"*(factorial(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"factorial(this, x)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..df6433760 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json new file mode 100644 index 000000000..4ac93cfef --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "35ms", + "end" : "2023-04-20T12:45:27.839+02:00", + "expressions" : "16", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:27.804+02:00", + "statements" : "6", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorial/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json new file mode 100644 index 000000000..0850a76fc --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":"['imp-testcases/interprocedural/factorial.imp':13:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return *(factorial(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"*(factorial(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"factorial(this, x)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"#TOP#","['imp-testcases/interprocedural/factorial.imp':13:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":["float32","int32"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorial.imp':13:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':8:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..df6433760 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":["float32","int32"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorial.imp':13:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved.imp new file mode 100644 index 000000000..44954f405 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved.imp @@ -0,0 +1,20 @@ +class factorialInterleaved { + + factorial(n) { + if (n <= 1) + return 1; + else { + def x = n - 1; + this.interleaved(x); + return this.factorial(x) * n; + } + } + + interleaved(x) { + return x + 1; + } + + main(a) { + def x = this.factorial(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json new file mode 100644 index 000000000..9bb793b8a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json", "untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json", "untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json" ], + "info" : { + "cfgs" : "3", + "duration" : "69ms", + "end" : "2023-04-20T12:45:26.590+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:26.521+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialInterleaved/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json new file mode 100644 index 000000000..7c4bfe7df --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::factorial(factorialInterleaved* this, untyped n)","description":"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"interleaved(this, x)"},{"id":11,"text":"this"},{"id":12,"text":"x"},{"id":13,"subNodes":[14],"text":"return *(factorial(this, x), n)"},{"id":14,"subNodes":[15,18],"text":"*(factorial(this, x), n)"},{"id":15,"subNodes":[16,17],"text":"factorial(this, x)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':8:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json new file mode 100644 index 000000000..66a18b55a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::interleaved(factorialInterleaved* this, untyped x)","description":"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26, 'imp-testcases/interprocedural/factorialInterleaved.imp':8:21]","nodes":[{"id":0,"subNodes":[1],"text":"return +(x, 1)"},{"id":1,"subNodes":[2,3],"text":"+(x, 1)"},{"id":2,"text":"x"},{"id":3,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@interleaved"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"ret_value@interleaved":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","ret_value@interleaved":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json new file mode 100644 index 000000000..5a2935b89 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::main(factorialInterleaved* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json new file mode 100644 index 000000000..35ef70bfc --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n).json", "untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x).json", "untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json" ], + "info" : { + "cfgs" : "3", + "duration" : "51ms", + "end" : "2023-04-20T12:45:26.791+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:26.740+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialInterleaved/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n).json new file mode 100644 index 000000000..818ebadb2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::factorial(factorialInterleaved* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"interleaved(this, x)"},{"id":11,"text":"this"},{"id":12,"text":"x"},{"id":13,"subNodes":[14],"text":"return *(factorial(this, x), n)"},{"id":14,"subNodes":[15,18],"text":"*(factorial(this, x), n)"},{"id":15,"subNodes":[16,17],"text":"factorial(this, x)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':8:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x).json new file mode 100644 index 000000000..1cfa49e28 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x).json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::interleaved(factorialInterleaved* this, untyped x)","description":null,"nodes":[{"id":0,"subNodes":[1],"text":"return +(x, 1)"},{"id":1,"subNodes":[2,3],"text":"+(x, 1)"},{"id":2,"text":"x"},{"id":3,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@interleaved"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"ret_value@interleaved":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","ret_value@interleaved":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json new file mode 100644 index 000000000..5a2935b89 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::main(factorialInterleaved* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json new file mode 100644 index 000000000..a72f9c20f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json", "untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json", "untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json" ], + "info" : { + "cfgs" : "3", + "duration" : "78ms", + "end" : "2023-04-20T12:45:27.037+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:26.959+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialInterleaved/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json new file mode 100644 index 000000000..7c4bfe7df --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::factorial(factorialInterleaved* this, untyped n)","description":"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"interleaved(this, x)"},{"id":11,"text":"this"},{"id":12,"text":"x"},{"id":13,"subNodes":[14],"text":"return *(factorial(this, x), n)"},{"id":14,"subNodes":[15,18],"text":"*(factorial(this, x), n)"},{"id":15,"subNodes":[16,17],"text":"factorial(this, x)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':8:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json new file mode 100644 index 000000000..66a18b55a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::interleaved(factorialInterleaved* this, untyped x)","description":"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26, 'imp-testcases/interprocedural/factorialInterleaved.imp':8:21]","nodes":[{"id":0,"subNodes":[1],"text":"return +(x, 1)"},{"id":1,"subNodes":[2,3],"text":"+(x, 1)"},{"id":2,"text":"x"},{"id":3,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@interleaved"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"ret_value@interleaved":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","ret_value@interleaved":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json new file mode 100644 index 000000000..5a2935b89 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::main(factorialInterleaved* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json new file mode 100644 index 000000000..faf21a0f0 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json", "untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_94486946.json", "untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json" ], + "info" : { + "cfgs" : "3", + "duration" : "54ms", + "end" : "2023-04-20T12:45:27.311+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:27.257+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialInterleaved/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json new file mode 100644 index 000000000..7c4bfe7df --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::factorial(factorialInterleaved* this, untyped n)","description":"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"interleaved(this, x)"},{"id":11,"text":"this"},{"id":12,"text":"x"},{"id":13,"subNodes":[14],"text":"return *(factorial(this, x), n)"},{"id":14,"subNodes":[15,18],"text":"*(factorial(this, x), n)"},{"id":15,"subNodes":[16,17],"text":"factorial(this, x)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["int32"],"this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorial":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':8:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","ret_value@factorial":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@factorial":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":["float32","int32"],"n":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':9:26":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_94486946.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_94486946.json new file mode 100644 index 000000000..42e146312 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_94486946.json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::interleaved(factorialInterleaved* this, untyped x)","description":"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]","nodes":[{"id":0,"subNodes":[1],"text":"return +(x, 1)"},{"id":1,"subNodes":[2,3],"text":"+(x, 1)"},{"id":2,"text":"x"},{"id":3,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@interleaved"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"ret_value@interleaved":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","ret_value@interleaved":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"#TOP#","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:this":["factorialInterleaved*"],"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":["float32","int32"],"this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:['imp-testcases/interprocedural/factorialInterleaved.imp':18:26]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:n":"[2, +Inf]","['imp-testcases/interprocedural/factorialInterleaved.imp':8:21]:x":"[1, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json new file mode 100644 index 000000000..5a2935b89 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialInterleaved::main(factorialInterleaved* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = factorial(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":["float32","int32"],"this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialInterleaved.imp':18:26":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialInterleaved*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop.imp new file mode 100644 index 000000000..101945bf0 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop.imp @@ -0,0 +1,29 @@ +class factorialLoop { + + factorialLoop(n) { + if (n <= 1) + return 1; + else if (n <= 2) + return 2; + else if (n <= 3) + return 6; + else { + def x = n - 1; + return this.factorialLoopAux1(x) * n; + } + } + + factorialLoopAux1(n) { + def x = n - 1; + return this.factorialLoopAux2(x) * n; + } + + factorialLoopAux2(n) { + def x = n - 1; + return this.factorialLoop(x) * n; + } + + main(a) { + def z = this.factorialLoop(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json new file mode 100644 index 000000000..0b4b8de3d --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json", "untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json", "untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json", "untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "82ms", + "end" : "2023-04-20T12:45:28.040+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:27.958+02:00", + "statements" : "14", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialLoop/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json new file mode 100644 index 000000000..6b43c8c84 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoop(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':27:30]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"<=(n, 2)"},{"id":6,"text":"n"},{"id":7,"text":"2"},{"id":8,"subNodes":[9],"text":"return 2"},{"id":9,"text":"2"},{"id":10,"subNodes":[11,12],"text":"<=(n, 3)"},{"id":11,"text":"n"},{"id":12,"text":"3"},{"id":13,"subNodes":[14],"text":"return 6"},{"id":14,"text":"6"},{"id":15,"subNodes":[16,17],"text":"x = -(n, 1)"},{"id":16,"text":"x"},{"id":17,"subNodes":[18,19],"text":"-(n, 1)"},{"id":18,"text":"n"},{"id":19,"text":"1"},{"id":20,"subNodes":[21],"text":"return *(factorialLoopAux1(this, x), n)"},{"id":21,"subNodes":[22,25],"text":"*(factorialLoopAux1(this, x), n)"},{"id":22,"subNodes":[23,24],"text":"factorialLoopAux1(this, x)"},{"id":23,"text":"this"},{"id":24,"text":"x"},{"id":25,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":8,"kind":"TrueEdge"},{"sourceId":5,"destId":10,"kind":"FalseEdge"},{"sourceId":10,"destId":13,"kind":"TrueEdge"},{"sourceId":10,"destId":15,"kind":"FalseEdge"},{"sourceId":15,"destId":20,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorialLoop":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]","ret_value@factorialLoop":"[2, 2]"}}}},{"nodeId":9,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]"}}}},{"nodeId":10,"description":{"expressions":["n <= 3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]","ret_value@factorialLoop":"[6, 6]"}}}},{"nodeId":14,"description":{"expressions":["6"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]"}}}},{"nodeId":15,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","ret_value@factorialLoop":"[24, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json new file mode 100644 index 000000000..1da3404bd --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux1(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':27:30, 'imp-testcases/interprocedural/factorialLoop.imp':12:34]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoopAux2(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux1":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","ret_value@factorialLoopAux1":"[6, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json new file mode 100644 index 000000000..96c9d9cb4 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux2(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':27:30, 'imp-testcases/interprocedural/factorialLoop.imp':12:34, 'imp-testcases/interprocedural/factorialLoop.imp':18:33]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoop(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux2":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","ret_value@factorialLoopAux2":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json new file mode 100644 index 000000000..58bdc6ef3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::main(factorialLoop* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = factorialLoop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"factorialLoop(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json new file mode 100644 index 000000000..efd986397 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n).json", "untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n).json", "untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n).json", "untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "128ms", + "end" : "2023-04-20T12:45:28.497+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:28.369+02:00", + "statements" : "14", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialLoop/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n).json new file mode 100644 index 000000000..72b66517c --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoop(factorialLoop* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"<=(n, 2)"},{"id":6,"text":"n"},{"id":7,"text":"2"},{"id":8,"subNodes":[9],"text":"return 2"},{"id":9,"text":"2"},{"id":10,"subNodes":[11,12],"text":"<=(n, 3)"},{"id":11,"text":"n"},{"id":12,"text":"3"},{"id":13,"subNodes":[14],"text":"return 6"},{"id":14,"text":"6"},{"id":15,"subNodes":[16,17],"text":"x = -(n, 1)"},{"id":16,"text":"x"},{"id":17,"subNodes":[18,19],"text":"-(n, 1)"},{"id":18,"text":"n"},{"id":19,"text":"1"},{"id":20,"subNodes":[21],"text":"return *(factorialLoopAux1(this, x), n)"},{"id":21,"subNodes":[22,25],"text":"*(factorialLoopAux1(this, x), n)"},{"id":22,"subNodes":[23,24],"text":"factorialLoopAux1(this, x)"},{"id":23,"text":"this"},{"id":24,"text":"x"},{"id":25,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":8,"kind":"TrueEdge"},{"sourceId":5,"destId":10,"kind":"FalseEdge"},{"sourceId":10,"destId":13,"kind":"TrueEdge"},{"sourceId":10,"destId":15,"kind":"FalseEdge"},{"sourceId":15,"destId":20,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorialLoop":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]","ret_value@factorialLoop":"[2, 2]"}}}},{"nodeId":9,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]"}}}},{"nodeId":10,"description":{"expressions":["n <= 3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]","ret_value@factorialLoop":"[6, 6]"}}}},{"nodeId":14,"description":{"expressions":["6"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]"}}}},{"nodeId":15,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","ret_value@factorialLoop":"[24, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n).json new file mode 100644 index 000000000..f93861613 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux1(factorialLoop* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoopAux2(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux1":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","ret_value@factorialLoopAux1":"[6, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n).json new file mode 100644 index 000000000..bb55cf3ce --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux2(factorialLoop* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoop(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux2":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","ret_value@factorialLoopAux2":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json new file mode 100644 index 000000000..58bdc6ef3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::main(factorialLoop* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = factorialLoop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"factorialLoop(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json new file mode 100644 index 000000000..617041867 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json", "untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json", "untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json", "untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "92ms", + "end" : "2023-04-20T12:45:28.864+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:28.772+02:00", + "statements" : "14", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialLoop/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json new file mode 100644 index 000000000..6b43c8c84 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoop(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':27:30]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"<=(n, 2)"},{"id":6,"text":"n"},{"id":7,"text":"2"},{"id":8,"subNodes":[9],"text":"return 2"},{"id":9,"text":"2"},{"id":10,"subNodes":[11,12],"text":"<=(n, 3)"},{"id":11,"text":"n"},{"id":12,"text":"3"},{"id":13,"subNodes":[14],"text":"return 6"},{"id":14,"text":"6"},{"id":15,"subNodes":[16,17],"text":"x = -(n, 1)"},{"id":16,"text":"x"},{"id":17,"subNodes":[18,19],"text":"-(n, 1)"},{"id":18,"text":"n"},{"id":19,"text":"1"},{"id":20,"subNodes":[21],"text":"return *(factorialLoopAux1(this, x), n)"},{"id":21,"subNodes":[22,25],"text":"*(factorialLoopAux1(this, x), n)"},{"id":22,"subNodes":[23,24],"text":"factorialLoopAux1(this, x)"},{"id":23,"text":"this"},{"id":24,"text":"x"},{"id":25,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":8,"kind":"TrueEdge"},{"sourceId":5,"destId":10,"kind":"FalseEdge"},{"sourceId":10,"destId":13,"kind":"TrueEdge"},{"sourceId":10,"destId":15,"kind":"FalseEdge"},{"sourceId":15,"destId":20,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorialLoop":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]","ret_value@factorialLoop":"[2, 2]"}}}},{"nodeId":9,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]"}}}},{"nodeId":10,"description":{"expressions":["n <= 3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]","ret_value@factorialLoop":"[6, 6]"}}}},{"nodeId":14,"description":{"expressions":["6"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]"}}}},{"nodeId":15,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","ret_value@factorialLoop":"[24, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json new file mode 100644 index 000000000..1da3404bd --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux1(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':27:30, 'imp-testcases/interprocedural/factorialLoop.imp':12:34]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoopAux2(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux1":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","ret_value@factorialLoopAux1":"[6, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json new file mode 100644 index 000000000..96c9d9cb4 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux2(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':27:30, 'imp-testcases/interprocedural/factorialLoop.imp':12:34, 'imp-testcases/interprocedural/factorialLoop.imp':18:33]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoop(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux2":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","ret_value@factorialLoopAux2":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json new file mode 100644 index 000000000..58bdc6ef3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::main(factorialLoop* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = factorialLoop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"factorialLoop(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json new file mode 100644 index 000000000..9e6fbd8f7 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json", "untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_-1303131002.json", "untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1303131777.json", "untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "85ms", + "end" : "2023-04-20T12:45:29.175+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:29.090+02:00", + "statements" : "14", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/factorialLoop/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json new file mode 100644 index 000000000..6b43c8c84 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoop(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':27:30]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"<=(n, 2)"},{"id":6,"text":"n"},{"id":7,"text":"2"},{"id":8,"subNodes":[9],"text":"return 2"},{"id":9,"text":"2"},{"id":10,"subNodes":[11,12],"text":"<=(n, 3)"},{"id":11,"text":"n"},{"id":12,"text":"3"},{"id":13,"subNodes":[14],"text":"return 6"},{"id":14,"text":"6"},{"id":15,"subNodes":[16,17],"text":"x = -(n, 1)"},{"id":16,"text":"x"},{"id":17,"subNodes":[18,19],"text":"-(n, 1)"},{"id":18,"text":"n"},{"id":19,"text":"1"},{"id":20,"subNodes":[21],"text":"return *(factorialLoopAux1(this, x), n)"},{"id":21,"subNodes":[22,25],"text":"*(factorialLoopAux1(this, x), n)"},{"id":22,"subNodes":[23,24],"text":"factorialLoopAux1(this, x)"},{"id":23,"text":"this"},{"id":24,"text":"x"},{"id":25,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":8,"kind":"TrueEdge"},{"sourceId":5,"destId":10,"kind":"FalseEdge"},{"sourceId":10,"destId":13,"kind":"TrueEdge"},{"sourceId":10,"destId":15,"kind":"FalseEdge"},{"sourceId":15,"destId":20,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@factorialLoop":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]","ret_value@factorialLoop":"[2, 2]"}}}},{"nodeId":9,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[2, 2]"}}}},{"nodeId":10,"description":{"expressions":["n <= 3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]","ret_value@factorialLoop":"[6, 6]"}}}},{"nodeId":14,"description":{"expressions":["6"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[3, 3]"}}}},{"nodeId":15,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["ret_value@factorialLoop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","ret_value@factorialLoop":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","ret_value@factorialLoop":"[24, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":["float32","int32"],"n":"#TOP#","this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':12:34":"[6, +Inf]","n":"[4, +Inf]","x":"[3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_-1303131002.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_-1303131002.json new file mode 100644 index 000000000..b42ca6664 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_-1303131002.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux1(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':12:34]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoopAux2(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux1":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","ret_value@factorialLoopAux1":"[6, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':18:33":"[2, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1303131777.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1303131777.json new file mode 100644 index 000000000..e8c61f916 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1303131777.json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::factorialLoopAux2(factorialLoop* this, untyped n)","description":"['imp-testcases/interprocedural/factorialLoop.imp':18:33]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return *(factorialLoop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"*(factorialLoop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorialLoop(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorialLoopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"ret_value@factorialLoopAux2":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","ret_value@factorialLoopAux2":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"#TOP#","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":["float32","int32"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:this":["factorialLoop*"],"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":["float32","int32"],"n":["float32","int32"],"this":["factorialLoop*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:['imp-testcases/interprocedural/factorialLoop.imp':27:30]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:n":"[4, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:['imp-testcases/interprocedural/factorialLoop.imp':12:34]:x":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:n":"[3, +Inf]","['imp-testcases/interprocedural/factorialLoop.imp':18:33]:x":"[2, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':23:29":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json new file mode 100644 index 000000000..58bdc6ef3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorialLoop::main(factorialLoop* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = factorialLoop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"factorialLoop(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":["float32","int32"],"this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/factorialLoop.imp':27:30":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorialLoop*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp new file mode 100644 index 000000000..fb696c7d6 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp @@ -0,0 +1,16 @@ +class fibonacci { + + fib(n) { + if (n <= 2) + return 1; + else { + def x = n - 1; + def y = n - 2; + return this.fib(x) + this.fib(y); + } + } + + main(a) { + def y = this.fib(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json new file mode 100644 index 000000000..fa2170c27 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "75ms", + "end" : "2023-04-20T12:45:29.502+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:29.427+02:00", + "statements" : "7", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/fibonacci/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json new file mode 100644 index 000000000..d126153c2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::fib(fibonacci* this, untyped n)","description":"['imp-testcases/interprocedural/fibonacci.imp':14:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 2)"},{"id":1,"text":"n"},{"id":2,"text":"2"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"y = -(n, 2)"},{"id":11,"text":"y"},{"id":12,"subNodes":[13,14],"text":"-(n, 2)"},{"id":13,"text":"n"},{"id":14,"text":"2"},{"id":15,"subNodes":[16],"text":"return +(fib(this, x), fib(this, y))"},{"id":16,"subNodes":[17,20],"text":"+(fib(this, x), fib(this, y))"},{"id":17,"subNodes":[18,19],"text":"fib(this, x)"},{"id":18,"text":"this"},{"id":19,"text":"x"},{"id":20,"subNodes":[21,22],"text":"fib(this, y)"},{"id":21,"text":"this"},{"id":22,"text":"y"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]","ret_value@fib":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","ret_value@fib":"[2, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 + call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 strcat call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.main(fibonacci__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.main(fibonacci__this,_untyped_a).json new file mode 100644 index 000000000..f31d2d544 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.main(fibonacci__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::main(fibonacci* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"y = fib(this, a)"},{"id":1,"text":"y"},{"id":2,"subNodes":[3,4],"text":"fib(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json new file mode 100644 index 000000000..c312ead8b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n).json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "51ms", + "end" : "2023-04-20T12:45:29.605+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:29.554+02:00", + "statements" : "7", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/fibonacci/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.fib(fibonacci__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.fib(fibonacci__this,_untyped_n).json new file mode 100644 index 000000000..b7865ca37 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.fib(fibonacci__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::fib(fibonacci* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 2)"},{"id":1,"text":"n"},{"id":2,"text":"2"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"y = -(n, 2)"},{"id":11,"text":"y"},{"id":12,"subNodes":[13,14],"text":"-(n, 2)"},{"id":13,"text":"n"},{"id":14,"text":"2"},{"id":15,"subNodes":[16],"text":"return +(fib(this, x), fib(this, y))"},{"id":16,"subNodes":[17,20],"text":"+(fib(this, x), fib(this, y))"},{"id":17,"subNodes":[18,19],"text":"fib(this, x)"},{"id":18,"text":"this"},{"id":19,"text":"x"},{"id":20,"subNodes":[21,22],"text":"fib(this, y)"},{"id":21,"text":"this"},{"id":22,"text":"y"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]","ret_value@fib":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","ret_value@fib":"[2, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 + call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 strcat call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.main(fibonacci__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.main(fibonacci__this,_untyped_a).json new file mode 100644 index 000000000..f31d2d544 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.main(fibonacci__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::main(fibonacci* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"y = fib(this, a)"},{"id":1,"text":"y"},{"id":2,"subNodes":[3,4],"text":"fib(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json new file mode 100644 index 000000000..6fdee41de --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "40ms", + "end" : "2023-04-20T12:45:29.685+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:29.645+02:00", + "statements" : "7", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/fibonacci/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json new file mode 100644 index 000000000..d126153c2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::fib(fibonacci* this, untyped n)","description":"['imp-testcases/interprocedural/fibonacci.imp':14:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 2)"},{"id":1,"text":"n"},{"id":2,"text":"2"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"y = -(n, 2)"},{"id":11,"text":"y"},{"id":12,"subNodes":[13,14],"text":"-(n, 2)"},{"id":13,"text":"n"},{"id":14,"text":"2"},{"id":15,"subNodes":[16],"text":"return +(fib(this, x), fib(this, y))"},{"id":16,"subNodes":[17,20],"text":"+(fib(this, x), fib(this, y))"},{"id":17,"subNodes":[18,19],"text":"fib(this, x)"},{"id":18,"text":"this"},{"id":19,"text":"x"},{"id":20,"subNodes":[21,22],"text":"fib(this, y)"},{"id":21,"text":"this"},{"id":22,"text":"y"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]","ret_value@fib":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","ret_value@fib":"[2, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 + call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 strcat call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.main(fibonacci__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.main(fibonacci__this,_untyped_a).json new file mode 100644 index 000000000..f31d2d544 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.main(fibonacci__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::main(fibonacci* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"y = fib(this, a)"},{"id":1,"text":"y"},{"id":2,"subNodes":[3,4],"text":"fib(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json new file mode 100644 index 000000000..a6fa761a6 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "48ms", + "end" : "2023-04-20T12:45:29.783+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:29.735+02:00", + "statements" : "7", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/fibonacci/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json new file mode 100644 index 000000000..d126153c2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::fib(fibonacci* this, untyped n)","description":"['imp-testcases/interprocedural/fibonacci.imp':14:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 2)"},{"id":1,"text":"n"},{"id":2,"text":"2"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(n, 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11,12],"text":"y = -(n, 2)"},{"id":11,"text":"y"},{"id":12,"subNodes":[13,14],"text":"-(n, 2)"},{"id":13,"text":"n"},{"id":14,"text":"2"},{"id":15,"subNodes":[16],"text":"return +(fib(this, x), fib(this, y))"},{"id":16,"subNodes":[17,20],"text":"+(fib(this, x), fib(this, y))"},{"id":17,"subNodes":[18,19],"text":"fib(this, x)"},{"id":18,"text":"this"},{"id":19,"text":"x"},{"id":20,"subNodes":[21,22],"text":"fib(this, y)"},{"id":21,"text":"this"},{"id":22,"text":"y"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]","ret_value@fib":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[-Inf, 2]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["ret_value@fib"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","ret_value@fib":["int32"],"this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","ret_value@fib":"[2, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 + call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20 strcat call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:34":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"#TOP#","['imp-testcases/interprocedural/fibonacci.imp':14:20]:this":["fibonacci*"],"call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":["int32"],"n":"#TOP#","this":["fibonacci*"],"x":["float32","int32"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/fibonacci.imp':14:20]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':9:20":"[1, +Inf]","n":"[3, +Inf]","x":"[2, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.main(fibonacci__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.main(fibonacci__this,_untyped_a).json new file mode 100644 index 000000000..f31d2d544 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.main(fibonacci__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped fibonacci::main(fibonacci* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"y = fib(this, a)"},{"id":1,"text":"y"},{"id":2,"subNodes":[3,4],"text":"fib(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":["int32"],"this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/fibonacci.imp':14:20":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["fibonacci*"],"y":["int32"]},"value":{"a":"[-Inf, +Inf]","y":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1.imp new file mode 100644 index 000000000..59b5fa9ce --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1.imp @@ -0,0 +1,11 @@ +class factorial { + + factorial(n) { + def x = n - 1; + return this.factorial(x) + n; + } + + main(a) { + def w = this.factorial(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json new file mode 100644 index 000000000..55b317b02 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "54ms", + "end" : "2023-04-20T12:45:29.899+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:29.845+02:00", + "statements" : "4", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion1/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json new file mode 100644 index 000000000..2c9e7b67b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return +(factorial(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(factorial(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorial(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32","string"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@factorial":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 + n","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..0b827b98e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"w = factorial(this, a)"},{"id":1,"text":"w"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}},{"nodeId":1,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json new file mode 100644 index 000000000..a2cbbae11 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n).json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "41ms", + "end" : "2023-04-20T12:45:30.099+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:30.058+02:00", + "statements" : "4", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion1/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json new file mode 100644 index 000000000..e5c6c7e32 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return +(factorial(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(factorial(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorial(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32","string"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@factorial":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 + n","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..0b827b98e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"w = factorial(this, a)"},{"id":1,"text":"w"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}},{"nodeId":1,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json new file mode 100644 index 000000000..720aff5d5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "39ms", + "end" : "2023-04-20T12:45:30.282+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:30.243+02:00", + "statements" : "4", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion1/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json new file mode 100644 index 000000000..2c9e7b67b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return +(factorial(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(factorial(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorial(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32","string"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@factorial":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 + n","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..0b827b98e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"w = factorial(this, a)"},{"id":1,"text":"w"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}},{"nodeId":1,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json new file mode 100644 index 000000000..128ac4787 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "174ms", + "end" : "2023-04-20T12:45:30.652+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-20T12:45:30.478+02:00", + "statements" : "4", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion1/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json new file mode 100644 index 000000000..2c9e7b67b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json @@ -0,0 +1 @@ +{"name":"untyped factorial::factorial(factorial* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return +(factorial(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(factorial(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"factorial(this, x)"},{"id":8,"text":"this"},{"id":9,"text":"x"},{"id":10,"text":"n"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@factorial"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","ret_value@factorial":["float32","int32","string"],"this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@factorial":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 + n","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:this":["factorial*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":["float32","int32","string"],"n":"#TOP#","this":["factorial*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion1.imp':9:26]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':5:25":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.main(factorial__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.main(factorial__this,_untyped_a).json new file mode 100644 index 000000000..0b827b98e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.main(factorial__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped factorial::main(factorial* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"w = factorial(this, a)"},{"id":1,"text":"w"},{"id":2,"subNodes":[3,4],"text":"factorial(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}},{"nodeId":1,"description":{"expressions":["w"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":["float32","int32","string"],"this":["factorial*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion1.imp':9:26":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["factorial*"],"w":["float32","int32","string"]},"value":{"a":"[-Inf, +Inf]","w":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2.imp new file mode 100644 index 000000000..7a587471e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2.imp @@ -0,0 +1,21 @@ +class infiniteRecursion { + + infiniteRecursion(n) { + def x = n - 1; + return this.infiniteRecursionAux1(x); + } + + infiniteRecursionAux1(n) { + def x = n - 2; + return this.infiniteRecursionAux2(x); + } + + infiniteRecursionAux2(n) { + def x = n + 1; + return this.infiniteRecursion(x); + } + + main(a) { + def k = this.infiniteRecursion(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json new file mode 100644 index 000000000..1733a0bd7 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json", "untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json", "untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json", "untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "67ms", + "end" : "2023-04-20T12:45:30.910+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:30.843+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion2/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json new file mode 100644 index 000000000..db10ef82a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursion(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux1(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux1(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","ret_value@infiniteRecursion":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursion":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"#TOP#","n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json new file mode 100644 index 000000000..0522e3287 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux1(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34, 'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 2)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 2)"},{"id":3,"text":"n"},{"id":4,"text":"2"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux2(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux2(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux1":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux1":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json new file mode 100644 index 000000000..114014d29 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux2(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34, 'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37, 'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = +(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"+(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursion(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursion(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux2":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux2":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json new file mode 100644 index 000000000..457d3218e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::main(infiniteRecursion* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = infiniteRecursion(this, a)"},{"id":1,"text":"k"},{"id":2,"subNodes":[3,4],"text":"infiniteRecursion(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json new file mode 100644 index 000000000..3eb40a38e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n).json", "untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n).json", "untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n).json", "untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "70ms", + "end" : "2023-04-20T12:45:31.167+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:31.097+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion2/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n).json new file mode 100644 index 000000000..ffb9ef6c3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursion(infiniteRecursion* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux1(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux1(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","ret_value@infiniteRecursion":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursion":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"#TOP#","n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n).json new file mode 100644 index 000000000..b566fd5f3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux1(infiniteRecursion* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 2)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 2)"},{"id":3,"text":"n"},{"id":4,"text":"2"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux2(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux2(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux1":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux1":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n).json new file mode 100644 index 000000000..f7628507a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux2(infiniteRecursion* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = +(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"+(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursion(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursion(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux2":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux2":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json new file mode 100644 index 000000000..457d3218e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::main(infiniteRecursion* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = infiniteRecursion(this, a)"},{"id":1,"text":"k"},{"id":2,"subNodes":[3,4],"text":"infiniteRecursion(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json new file mode 100644 index 000000000..3b65f29ee --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json", "untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json", "untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json", "untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "120ms", + "end" : "2023-04-20T12:45:31.443+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:31.323+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion2/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json new file mode 100644 index 000000000..db10ef82a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursion(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux1(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux1(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","ret_value@infiniteRecursion":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursion":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"#TOP#","n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json new file mode 100644 index 000000000..0522e3287 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux1(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34, 'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 2)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 2)"},{"id":3,"text":"n"},{"id":4,"text":"2"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux2(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux2(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux1":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux1":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json new file mode 100644 index 000000000..114014d29 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux2(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34, 'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37, 'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = +(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"+(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursion(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursion(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux2":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux2":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json new file mode 100644 index 000000000..457d3218e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::main(infiniteRecursion* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = infiniteRecursion(this, a)"},{"id":1,"text":"k"},{"id":2,"subNodes":[3,4],"text":"infiniteRecursion(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json new file mode 100644 index 000000000..e25040c1f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json", "untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_345336917.json", "untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_345337072.json", "untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "71ms", + "end" : "2023-04-20T12:45:31.680+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:31.609+02:00", + "statements" : "8", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/infiniteRecursion2/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json new file mode 100644 index 000000000..db10ef82a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursion(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux1(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux1(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","ret_value@infiniteRecursion":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursion":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"#TOP#","n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':5:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"n":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_345336917.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_345336917.json new file mode 100644 index 000000000..faabc3237 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_345336917.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux1(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = -(n, 2)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"-(n, 2)"},{"id":3,"text":"n"},{"id":4,"text":"2"},{"id":5,"subNodes":[6],"text":"return infiniteRecursionAux2(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursionAux2(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux1":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux1":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':10:37":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_345337072.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_345337072.json new file mode 100644 index 000000000..06634a99e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_345337072.json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::infiniteRecursionAux2(infiniteRecursion* this, untyped n)","description":"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]","nodes":[{"id":0,"subNodes":[1,2],"text":"x = +(n, 1)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"+(n, 1)"},{"id":3,"text":"n"},{"id":4,"text":"1"},{"id":5,"subNodes":[6],"text":"return infiniteRecursion(this, x)"},{"id":6,"subNodes":[7,8],"text":"infiniteRecursion(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@infiniteRecursionAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"ret_value@infiniteRecursionAux2":"#TOP#","this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","ret_value@infiniteRecursionAux2":"_|_","x":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"#TOP#","n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':15:33":"_|_","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"#TOP#","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":["float32","int32"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:this":["infiniteRecursion*"],"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":["float32","int32"],"n":["float32","int32"],"this":["infiniteRecursion*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':19:34]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:['imp-testcases/interprocedural/infiniteRecursion2.imp':5:37]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:n":"[-Inf, +Inf]","['imp-testcases/interprocedural/infiniteRecursion2.imp':10:37]:x":"[-Inf, +Inf]","n":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json new file mode 100644 index 000000000..457d3218e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped infiniteRecursion::main(infiniteRecursion* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = infiniteRecursion(this, a)"},{"id":1,"text":"k"},{"id":2,"subNodes":[3,4],"text":"infiniteRecursion(this, a)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/infiniteRecursion2.imp':19:34":"_|_"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","k":"#TOP#","this":["infiniteRecursion*"]},"value":{"a":"[-Inf, +Inf]","k":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions.imp new file mode 100644 index 000000000..edaade879 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions.imp @@ -0,0 +1,35 @@ +class tests { + + inner(n,b) { + if (n <= 1) + return 1; + else if (b) { + def x = n - 1; + return this.aux1(x,b,n); + } else { + def x = n - 1; + return this.aux2(x,b,n); + } + } + + aux1(x,b,n) { + return this.inner(x,b) - n; + } + + aux2(x,b,n) { + return this.inner(x,b) - n - 1; + } + + outer(n,b) { + if (n <= 0) + return 1; + else { + def x = this.inner(n,b) - 1; + return this.outer(x,b) * n; + } + } + + main(a,b) { + def x = this.outer(a,b); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json new file mode 100644 index 000000000..774b6c8ca --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json", "untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json" ], + "info" : { + "cfgs" : "5", + "duration" : "99ms", + "end" : "2023-04-20T12:45:31.945+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-20T12:45:31.846+02:00", + "statements" : "15", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/nestedRecursions/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json new file mode 100644 index 000000000..76b059bc2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24, 'imp-testcases/interprocedural/nestedRecursions.imp':27:25, 'imp-testcases/interprocedural/nestedRecursions.imp':8:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(inner(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(inner(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"inner(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json new file mode 100644 index 000000000..6001554f4 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24, 'imp-testcases/interprocedural/nestedRecursions.imp':27:25, 'imp-testcases/interprocedural/nestedRecursions.imp':11:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(-(inner(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(inner(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(inner(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"inner(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json new file mode 100644 index 000000000..06c43046a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json @@ -0,0 +1 @@ +{"name":"untyped tests::inner(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24, 'imp-testcases/interprocedural/nestedRecursions.imp':27:25]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]","ret_value@inner":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..74f1fab17 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = outer(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"outer(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json new file mode 100644 index 000000000..4014985f5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json @@ -0,0 +1 @@ +{"name":"untyped tests::outer(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(inner(this, n, b), 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,12],"text":"-(inner(this, n, b), 1)"},{"id":8,"subNodes":[9,10,11],"text":"inner(this, n, b)"},{"id":9,"text":"this"},{"id":10,"text":"n"},{"id":11,"text":"b"},{"id":12,"text":"1"},{"id":13,"subNodes":[14],"text":"return *(outer(this, x, b), n)"},{"id":14,"subNodes":[15,19],"text":"*(outer(this, x, b), n)"},{"id":15,"subNodes":[16,17,18],"text":"outer(this, x, b)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"b"},{"id":19,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]","ret_value@outer":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","ret_value@outer":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":18,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":19,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json new file mode 100644 index 000000000..8167b9c93 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json", "untyped_tests.inner(tests__this,_untyped_n,_untyped_b).json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.outer(tests__this,_untyped_n,_untyped_b).json" ], + "info" : { + "cfgs" : "5", + "duration" : "112ms", + "end" : "2023-04-20T12:45:32.279+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-20T12:45:32.167+02:00", + "statements" : "15", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/nestedRecursions/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json new file mode 100644 index 000000000..687d73df9 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1],"text":"return -(inner(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(inner(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"inner(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json new file mode 100644 index 000000000..f1c942dc7 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1],"text":"return -(-(inner(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(inner(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(inner(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"inner(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.inner(tests__this,_untyped_n,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.inner(tests__this,_untyped_n,_untyped_b).json new file mode 100644 index 000000000..299a21434 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.inner(tests__this,_untyped_n,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::inner(tests* this, untyped n, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]","ret_value@inner":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..74f1fab17 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = outer(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"outer(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.outer(tests__this,_untyped_n,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.outer(tests__this,_untyped_n,_untyped_b).json new file mode 100644 index 000000000..d6f467577 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.outer(tests__this,_untyped_n,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::outer(tests* this, untyped n, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(inner(this, n, b), 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,12],"text":"-(inner(this, n, b), 1)"},{"id":8,"subNodes":[9,10,11],"text":"inner(this, n, b)"},{"id":9,"text":"this"},{"id":10,"text":"n"},{"id":11,"text":"b"},{"id":12,"text":"1"},{"id":13,"subNodes":[14],"text":"return *(outer(this, x, b), n)"},{"id":14,"subNodes":[15,19],"text":"*(outer(this, x, b), n)"},{"id":15,"subNodes":[16,17,18],"text":"outer(this, x, b)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"b"},{"id":19,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]","ret_value@outer":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","ret_value@outer":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":18,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":19,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json new file mode 100644 index 000000000..433d230bc --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json", "untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json" ], + "info" : { + "cfgs" : "5", + "duration" : "109ms", + "end" : "2023-04-20T12:45:32.672+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-20T12:45:32.563+02:00", + "statements" : "15", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/nestedRecursions/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json new file mode 100644 index 000000000..76b059bc2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24, 'imp-testcases/interprocedural/nestedRecursions.imp':27:25, 'imp-testcases/interprocedural/nestedRecursions.imp':8:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(inner(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(inner(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"inner(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json new file mode 100644 index 000000000..6001554f4 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24, 'imp-testcases/interprocedural/nestedRecursions.imp':27:25, 'imp-testcases/interprocedural/nestedRecursions.imp':11:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(-(inner(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(inner(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(inner(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"inner(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json new file mode 100644 index 000000000..06c43046a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json @@ -0,0 +1 @@ +{"name":"untyped tests::inner(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24, 'imp-testcases/interprocedural/nestedRecursions.imp':27:25]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]","ret_value@inner":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..74f1fab17 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = outer(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"outer(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json new file mode 100644 index 000000000..4014985f5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json @@ -0,0 +1 @@ +{"name":"untyped tests::outer(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(inner(this, n, b), 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,12],"text":"-(inner(this, n, b), 1)"},{"id":8,"subNodes":[9,10,11],"text":"inner(this, n, b)"},{"id":9,"text":"this"},{"id":10,"text":"n"},{"id":11,"text":"b"},{"id":12,"text":"1"},{"id":13,"subNodes":[14],"text":"return *(outer(this, x, b), n)"},{"id":14,"subNodes":[15,19],"text":"*(outer(this, x, b), n)"},{"id":15,"subNodes":[16,17,18],"text":"outer(this, x, b)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"b"},{"id":19,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]","ret_value@outer":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","ret_value@outer":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":18,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":19,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json new file mode 100644 index 000000000..d0e0d8116 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631798.json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631705.json", "untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_-1983631209.json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json" ], + "info" : { + "cfgs" : "5", + "duration" : "96ms", + "end" : "2023-04-20T12:45:32.994+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-20T12:45:32.898+02:00", + "statements" : "15", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/nestedRecursions/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631798.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631798.json new file mode 100644 index 000000000..29d71fb31 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631798.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(inner(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(inner(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"inner(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':16:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631705.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631705.json new file mode 100644 index 000000000..345d061b0 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631705.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(-(inner(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(inner(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(inner(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"inner(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':20:23":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_-1983631209.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_-1983631209.json new file mode 100644 index 000000000..3d79f0f67 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_-1983631209.json @@ -0,0 +1 @@ +{"name":"untyped tests::inner(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]","ret_value@inner":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@inner"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@inner":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@inner":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':27:25]:n":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..74f1fab17 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = outer(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"outer(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':33:24":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json new file mode 100644 index 000000000..4014985f5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json @@ -0,0 +1 @@ +{"name":"untyped tests::outer(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"subNodes":[6,7],"text":"x = -(inner(this, n, b), 1)"},{"id":6,"text":"x"},{"id":7,"subNodes":[8,12],"text":"-(inner(this, n, b), 1)"},{"id":8,"subNodes":[9,10,11],"text":"inner(this, n, b)"},{"id":9,"text":"this"},{"id":10,"text":"n"},{"id":11,"text":"b"},{"id":12,"text":"1"},{"id":13,"subNodes":[14],"text":"return *(outer(this, x, b), n)"},{"id":14,"subNodes":[15,19],"text":"*(outer(this, x, b), n)"},{"id":15,"subNodes":[16,17,18],"text":"outer(this, x, b)"},{"id":16,"text":"this"},{"id":17,"text":"x"},{"id":18,"text":"b"},{"id":19,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":13,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]","ret_value@outer":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':27:25":"[-Inf, 1]","n":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["ret_value@outer"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@outer":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","ret_value@outer":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":14,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24 * n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":16,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":18,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":19,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"#TOP#","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/nestedRecursions.imp':33:24]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/nestedRecursions.imp':28:24":"[1, +Inf]","n":"[1, +Inf]","x":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions.imp new file mode 100644 index 000000000..6a076b6a8 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions.imp @@ -0,0 +1,26 @@ +class tests { + + rec(n,b) { + if (n <= 1) + return 1; + else if (b) { + def x = n - 1; + return this.aux1(x,b,n); + } else { + def x = n - 1; + return this.aux2(x,b,n); + } + } + + aux1(x,b,n) { + return this.rec(x,b) - n; + } + + aux2(x,b,n) { + return this.rec(x,b) - n - 1; + } + + main(a,b) { + def x = this.rec(a,b); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json new file mode 100644 index 000000000..3cd39a9e2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json" ], + "info" : { + "cfgs" : "4", + "duration" : "80ms", + "end" : "2023-04-20T12:45:33.329+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:33.249+02:00", + "statements" : "11", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/twoRecursions/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json new file mode 100644 index 000000000..441094c46 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/twoRecursions.imp':24:22, 'imp-testcases/interprocedural/twoRecursions.imp':8:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(rec(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(rec(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json new file mode 100644 index 000000000..65687e9e0 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/twoRecursions.imp':24:22, 'imp-testcases/interprocedural/twoRecursions.imp':11:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(-(rec(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(rec(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(rec(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"rec(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..813e1fe4b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = rec(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json new file mode 100644 index 000000000..0177079b3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/twoRecursions.imp':24:22]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@rec":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json new file mode 100644 index 000000000..2ed09383c --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.rec(tests__this,_untyped_n,_untyped_b).json" ], + "info" : { + "cfgs" : "4", + "duration" : "92ms", + "end" : "2023-04-20T12:45:33.663+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:33.571+02:00", + "statements" : "11", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/twoRecursions/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json new file mode 100644 index 000000000..0d79b88ed --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1],"text":"return -(rec(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(rec(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json new file mode 100644 index 000000000..0e3b9e4f5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1],"text":"return -(-(rec(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(rec(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(rec(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"rec(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..813e1fe4b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = rec(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.rec(tests__this,_untyped_n,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.rec(tests__this,_untyped_n,_untyped_b).json new file mode 100644 index 000000000..1dcce8f8f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.rec(tests__this,_untyped_n,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@rec":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json new file mode 100644 index 000000000..c09a36de8 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json" ], + "info" : { + "cfgs" : "4", + "duration" : "68ms", + "end" : "2023-04-20T12:45:33.927+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:33.859+02:00", + "statements" : "11", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/twoRecursions/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json new file mode 100644 index 000000000..441094c46 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/twoRecursions.imp':24:22, 'imp-testcases/interprocedural/twoRecursions.imp':8:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(rec(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(rec(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json new file mode 100644 index 000000000..65687e9e0 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/twoRecursions.imp':24:22, 'imp-testcases/interprocedural/twoRecursions.imp':11:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(-(rec(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(rec(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(rec(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"rec(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..813e1fe4b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = rec(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json new file mode 100644 index 000000000..0177079b3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/twoRecursions.imp':24:22]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@rec":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json new file mode 100644 index 000000000..1ea17b53e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412523.json", "untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412430.json", "untyped_tests.main(tests__this,_untyped_a,_untyped_b).json", "untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json" ], + "info" : { + "cfgs" : "4", + "duration" : "87ms", + "end" : "2023-04-20T12:45:34.232+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-20T12:45:34.145+02:00", + "statements" : "11", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/twoRecursions/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412523.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412523.json new file mode 100644 index 000000000..4fdfdac29 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412523.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux1(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/twoRecursions.imp':8:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(rec(this, x, b), n)"},{"id":1,"subNodes":[2,6],"text":"-(rec(this, x, b), n)"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, x, b)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"b"},{"id":6,"text":"n"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux1":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':8:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':16:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412430.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412430.json new file mode 100644 index 000000000..14749cff2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412430.json @@ -0,0 +1 @@ +{"name":"untyped tests::aux2(tests* this, untyped x, untyped b, untyped n)","description":"['imp-testcases/interprocedural/twoRecursions.imp':11:25]","nodes":[{"id":0,"subNodes":[1],"text":"return -(-(rec(this, x, b), n), 1)"},{"id":1,"subNodes":[2,8],"text":"-(-(rec(this, x, b), n), 1)"},{"id":2,"subNodes":[3,7],"text":"-(rec(this, x, b), n)"},{"id":3,"subNodes":[4,5,6],"text":"rec(this, x, b)"},{"id":4,"text":"this"},{"id":5,"text":"x"},{"id":6,"text":"b"},{"id":7,"text":"n"},{"id":8,"text":"1"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@aux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","ret_value@aux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@aux2":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21 - n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:this":["tests*"],"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":["float32","int32"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:b":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:n":"[2, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':11:25]:x":"[1, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':20:21":"[-Inf, 1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json new file mode 100644 index 000000000..813e1fe4b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a, untyped b)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = rec(this, a, b)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4,5],"text":"rec(this, a, b)"},{"id":3,"text":"this"},{"id":4,"text":"a"},{"id":5,"text":"b"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':24:22":"[-Inf, 1]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","b":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","b":"[-Inf, +Inf]","x":"[-Inf, 1]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json new file mode 100644 index 000000000..0177079b3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n, untyped b)","description":"['imp-testcases/interprocedural/twoRecursions.imp':24:22]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 1)"},{"id":1,"text":"n"},{"id":2,"text":"1"},{"id":3,"subNodes":[4],"text":"return 1"},{"id":4,"text":"1"},{"id":5,"text":"b"},{"id":6,"subNodes":[7,8],"text":"x = -(n, 1)"},{"id":7,"text":"x"},{"id":8,"subNodes":[9,10],"text":"-(n, 1)"},{"id":9,"text":"n"},{"id":10,"text":"1"},{"id":11,"subNodes":[12],"text":"return aux1(this, x, b, n)"},{"id":12,"subNodes":[13,14,15,16],"text":"aux1(this, x, b, n)"},{"id":13,"text":"this"},{"id":14,"text":"x"},{"id":15,"text":"b"},{"id":16,"text":"n"},{"id":17,"subNodes":[18,19],"text":"x = -(n, 1)"},{"id":18,"text":"x"},{"id":19,"subNodes":[20,21],"text":"-(n, 1)"},{"id":20,"text":"n"},{"id":21,"text":"1"},{"id":22,"subNodes":[23],"text":"return aux2(this, x, b, n)"},{"id":23,"subNodes":[24,25,26,27],"text":"aux2(this, x, b, n)"},{"id":24,"text":"this"},{"id":25,"text":"x"},{"id":26,"text":"b"},{"id":27,"text":"n"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":6,"kind":"TrueEdge"},{"sourceId":5,"destId":17,"kind":"FalseEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":17,"destId":22,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@rec":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':8:25":"[-Inf, -1]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":16,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":17,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":18,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":19,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":20,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":21,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":22,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","ret_value@rec":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@rec":"[-Inf, -2]","x":"[1, +Inf]"}}}},{"nodeId":23,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/twoRecursions.imp':11:25":"[-Inf, -2]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":24,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":25,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":26,"description":{"expressions":["b"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":27,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"#TOP#","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:this":["tests*"],"b":"#TOP#","n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/twoRecursions.imp':24:22]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/twoRecursions.imp':24:22]:b":"[-Inf, +Inf]","b":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase.imp new file mode 100644 index 000000000..cb2bdae92 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase.imp @@ -0,0 +1,22 @@ +class tests { + + rec(n) { + if (n <= 0) + return 0; + else { + def y = n - 1; + return this.rec(y) - 1; + } + } + + init(x) { + if (x <= 0) + return 0; + else + return this.rec(x); + } + + main(x) { + def z = this.init(x); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json new file mode 100644 index 000000000..2fea94301 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.init(tests__this,_untyped_x)_1748710429.json", "untyped_tests.main(tests__this,_untyped_x).json", "untyped_tests.rec(tests__this,_untyped_n)_124157764.json" ], + "info" : { + "cfgs" : "3", + "duration" : "63ms", + "end" : "2023-04-20T12:45:34.521+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:34.458+02:00", + "statements" : "9", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/unreachableBaseCase/full" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.init(tests__this,_untyped_x)_1748710429.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.init(tests__this,_untyped_x)_1748710429.json new file mode 100644 index 000000000..96dab92ec --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.init(tests__this,_untyped_x)_1748710429.json @@ -0,0 +1 @@ +{"name":"untyped tests::init(tests* this, untyped x)","description":"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(x, 0)"},{"id":1,"text":"x"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6],"text":"return rec(this, x)"},{"id":6,"subNodes":[7,8],"text":"rec(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[0, 0]","x":"[-Inf, 0]"}}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.main(tests__this,_untyped_x).json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.main(tests__this,_untyped_x).json new file mode 100644 index 000000000..0f80a0bbf --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.main(tests__this,_untyped_x).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped x)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = init(this, x)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"init(this, x)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.rec(tests__this,_untyped_n)_124157764.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.rec(tests__this,_untyped_n)_124157764.json new file mode 100644 index 000000000..33020bbbd --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.rec(tests__this,_untyped_n)_124157764.json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n)","description":"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21, 'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6,7],"text":"y = -(n, 1)"},{"id":6,"text":"y"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return -(rec(this, y), 1)"},{"id":11,"subNodes":[12,15],"text":"-(rec(this, y), 1)"},{"id":12,"subNodes":[13,14],"text":"rec(this, y)"},{"id":13,"text":"this"},{"id":14,"text":"y"},{"id":15,"text":"1"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":5,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","ret_value@rec":"[-Inf, -1]","y":"[0, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json new file mode 100644 index 000000000..888e2a03f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.init(tests__this,_untyped_x).json", "untyped_tests.main(tests__this,_untyped_x).json", "untyped_tests.rec(tests__this,_untyped_n).json" ], + "info" : { + "cfgs" : "3", + "duration" : "51ms", + "end" : "2023-04-20T12:45:34.764+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:34.713+02:00", + "statements" : "9", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/unreachableBaseCase/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.init(tests__this,_untyped_x).json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.init(tests__this,_untyped_x).json new file mode 100644 index 000000000..011fdcf47 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.init(tests__this,_untyped_x).json @@ -0,0 +1 @@ +{"name":"untyped tests::init(tests* this, untyped x)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(x, 0)"},{"id":1,"text":"x"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6],"text":"return rec(this, x)"},{"id":6,"subNodes":[7,8],"text":"rec(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[0, 0]","x":"[-Inf, 0]"}}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.main(tests__this,_untyped_x).json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.main(tests__this,_untyped_x).json new file mode 100644 index 000000000..0f80a0bbf --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.main(tests__this,_untyped_x).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped x)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = init(this, x)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"init(this, x)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.rec(tests__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.rec(tests__this,_untyped_n).json new file mode 100644 index 000000000..0703ddaf9 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.rec(tests__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6,7],"text":"y = -(n, 1)"},{"id":6,"text":"y"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return -(rec(this, y), 1)"},{"id":11,"subNodes":[12,15],"text":"-(rec(this, y), 1)"},{"id":12,"subNodes":[13,14],"text":"rec(this, y)"},{"id":13,"text":"this"},{"id":14,"text":"y"},{"id":15,"text":"1"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":5,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","ret_value@rec":"[-Inf, -1]","y":"[0, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json new file mode 100644 index 000000000..34bcf0371 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.init(tests__this,_untyped_x)_1748710429.json", "untyped_tests.main(tests__this,_untyped_x).json", "untyped_tests.rec(tests__this,_untyped_n)_124157764.json" ], + "info" : { + "cfgs" : "3", + "duration" : "59ms", + "end" : "2023-04-20T12:45:34.959+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:34.900+02:00", + "statements" : "9", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/unreachableBaseCase/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.init(tests__this,_untyped_x)_1748710429.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.init(tests__this,_untyped_x)_1748710429.json new file mode 100644 index 000000000..96dab92ec --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.init(tests__this,_untyped_x)_1748710429.json @@ -0,0 +1 @@ +{"name":"untyped tests::init(tests* this, untyped x)","description":"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(x, 0)"},{"id":1,"text":"x"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6],"text":"return rec(this, x)"},{"id":6,"subNodes":[7,8],"text":"rec(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[0, 0]","x":"[-Inf, 0]"}}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.main(tests__this,_untyped_x).json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.main(tests__this,_untyped_x).json new file mode 100644 index 000000000..0f80a0bbf --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.main(tests__this,_untyped_x).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped x)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = init(this, x)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"init(this, x)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.rec(tests__this,_untyped_n)_124157764.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.rec(tests__this,_untyped_n)_124157764.json new file mode 100644 index 000000000..33020bbbd --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.rec(tests__this,_untyped_n)_124157764.json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n)","description":"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21, 'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6,7],"text":"y = -(n, 1)"},{"id":6,"text":"y"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return -(rec(this, y), 1)"},{"id":11,"subNodes":[12,15],"text":"-(rec(this, y), 1)"},{"id":12,"subNodes":[13,14],"text":"rec(this, y)"},{"id":13,"text":"this"},{"id":14,"text":"y"},{"id":15,"text":"1"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":5,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","ret_value@rec":"[-Inf, -1]","y":"[0, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json new file mode 100644 index 000000000..ef283467f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json @@ -0,0 +1,37 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.init(tests__this,_untyped_x)_1748710429.json", "untyped_tests.main(tests__this,_untyped_x).json", "untyped_tests.rec(tests__this,_untyped_n)_1748709344.json" ], + "info" : { + "cfgs" : "3", + "duration" : "90ms", + "end" : "2023-04-20T12:45:35.209+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:45:35.119+02:00", + "statements" : "9", + "units" : "1", + "version" : "0.1b7", + "warnings" : "0" + }, + "configuration" : { + "analysisGraphs" : "NONE", + "descendingPhaseType" : "NONE", + "dumpForcesUnwinding" : "false", + "fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet", + "glbThreshold" : "5", + "hotspots" : "unset", + "jsonOutput" : "true", + "openCallPolicy" : "WorstCasePolicy", + "optimize" : "false", + "recursionWideningThreshold" : "5", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/unreachableBaseCase/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.init(tests__this,_untyped_x)_1748710429.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.init(tests__this,_untyped_x)_1748710429.json new file mode 100644 index 000000000..96dab92ec --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.init(tests__this,_untyped_x)_1748710429.json @@ -0,0 +1 @@ +{"name":"untyped tests::init(tests* this, untyped x)","description":"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(x, 0)"},{"id":1,"text":"x"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6],"text":"return rec(this, x)"},{"id":6,"subNodes":[7,8],"text":"rec(this, x)"},{"id":7,"text":"this"},{"id":8,"text":"x"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["x <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[0, 0]","x":"[-Inf, 0]"}}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[-Inf, 0]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@init"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","ret_value@init":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","ret_value@init":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':16:20":"[-Inf, -1]","x":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","this":["tests*"],"x":"#TOP#"},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.main(tests__this,_untyped_x).json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.main(tests__this,_untyped_x).json new file mode 100644 index 000000000..0f80a0bbf --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.main(tests__this,_untyped_x).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped x)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = init(this, x)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"init(this, x)"},{"id":3,"text":"this"},{"id":4,"text":"x"},{"id":5,"text":"ret"}],"edges":[{"sourceId":0,"destId":5,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":["int32"],"this":["tests*"],"x":"#TOP#"},"value":{"call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':20:21":"[-Inf, 0]","x":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#"},"value":{"x":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["tests*"],"x":"#TOP#","z":["int32"]},"value":{"x":"[-Inf, +Inf]","z":"[-Inf, 0]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.rec(tests__this,_untyped_n)_1748709344.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.rec(tests__this,_untyped_n)_1748709344.json new file mode 100644 index 000000000..294c81fe7 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.rec(tests__this,_untyped_n)_1748709344.json @@ -0,0 +1 @@ +{"name":"untyped tests::rec(tests* this, untyped n)","description":"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<=(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 0"},{"id":4,"text":"0"},{"id":5,"subNodes":[6,7],"text":"y = -(n, 1)"},{"id":6,"text":"y"},{"id":7,"subNodes":[8,9],"text":"-(n, 1)"},{"id":8,"text":"n"},{"id":9,"text":"1"},{"id":10,"subNodes":[11],"text":"return -(rec(this, y), 1)"},{"id":11,"subNodes":[12,15],"text":"-(rec(this, y), 1)"},{"id":12,"subNodes":[13,14],"text":"rec(this, y)"},{"id":13,"text":"this"},{"id":14,"text":"y"},{"id":15,"text":"1"}],"edges":[{"sourceId":0,"destId":3,"kind":"TrueEdge"},{"sourceId":0,"destId":5,"kind":"FalseEdge"},{"sourceId":5,"destId":10,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["n <= 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":4,"description":{"expressions":["0"],"state":{"heap":"monolith","type":"_|_","value":"_|_"}}},{"nodeId":5,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@rec"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","ret_value@rec":["int32"],"this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","ret_value@rec":"[-Inf, -1]","y":"[0, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20 - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","n":"[1, +Inf]","y":"[0, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"#TOP#","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:this":["tests*"],"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"#TOP#","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":["int32"],"n":"#TOP#","this":["tests*"],"y":["float32","int32"]},"value":{"['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:['imp-testcases/interprocedural/unreachableBaseCase.imp':20:21]:x":"[-Inf, +Inf]","['imp-testcases/interprocedural/unreachableBaseCase.imp':16:20]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/unreachableBaseCase.imp':8:20":"[-Inf, 0]","n":"[1, +Inf]","y":"[0, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interval/report.json b/lisa/lisa-analyses/imp-testcases/interval/report.json index 30e4c4c4a..977d7ce4c 100644 --- a/lisa/lisa-analyses/imp-testcases/interval/report.json +++ b/lisa/lisa-analyses/imp-testcases/interval/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.constants(tutorial__this).json", "untyped_tutorial.div(tutorial__this,_untyped_i,_untyped_j).json", "untyped_tutorial.gcd(tutorial__this,_untyped_a,_untyped_b).json", "untyped_tutorial.glb(tutorial__this,_untyped_x,_untyped_y).json", "untyped_tutorial.intv_dec(tutorial__this).json", "untyped_tutorial.sat(tutorial__this,_untyped_x,_untyped_y).json", "untyped_tutorial.sign_parity_example(tutorial__this).json", "untyped_tutorial.ub_example(tutorial__this,_untyped_y,_untyped_z).json" ], "info" : { "cfgs" : "8", - "duration" : "121ms", - "end" : "2023-03-16T22:40:03.757+01:00", + "duration" : "156ms", + "end" : "2023-04-20T12:45:38.467+02:00", "expressions" : "110", "files" : "8", "globals" : "0", "members" : "8", "programs" : "1", - "start" : "2023-03-16T22:40:03.636+01:00", + "start" : "2023-04-20T12:45:38.311+02:00", "statements" : "45", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/report.json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/report.json index 07f66279f..e700be670 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/report.json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/report.json @@ -23,14 +23,14 @@ "files" : [ "report.json", "untyped_Confidentiality.confidentiality_lec16(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec17(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec18ex1(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec18ex2(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec19ex1(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec19ex2(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec19ex3(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec19ex4(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec19ex5(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec5ex1(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec5ex2(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec6(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec7(Confidentiality__this).json", "untyped_Confidentiality.confidentiality_lec8(Confidentiality__this).json" ], "info" : { "cfgs" : "14", - "duration" : "427ms", - "end" : "2023-03-17T17:05:28.467+01:00", + "duration" : "232ms", + "end" : "2023-04-20T12:45:36.562+02:00", "expressions" : "130", "files" : "14", "globals" : "0", "members" : "14", "programs" : "1", - "start" : "2023-03-17T17:05:28.040+01:00", + "start" : "2023-04-20T12:45:36.330+02:00", "statements" : "70", "units" : "1", "version" : "0.1b7", @@ -46,6 +46,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "NICheck", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec16(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec16(Confidentiality__this).json index eadc50624..623fbd0dc 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec16(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec16(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec16(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"h = +(l, 4)"},{"id":7,"text":"h"},{"id":8,"subNodes":[9,10],"text":"+(l, 4)"},{"id":9,"text":"l"},{"id":10,"text":"4"},{"id":11,"subNodes":[12,13],"text":"l = -(l, 3)"},{"id":12,"text":"l"},{"id":13,"subNodes":[14,15],"text":"-(l, 3)"},{"id":14,"text":"l"},{"id":15,"text":"3"},{"id":16,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":11,"destId":16,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["l + 4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l - 3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":16,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec16(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"h = +(l, 4)"},{"id":7,"text":"h"},{"id":8,"subNodes":[9,10],"text":"+(l, 4)"},{"id":9,"text":"l"},{"id":10,"text":"4"},{"id":11,"subNodes":[12,13],"text":"l = -(l, 3)"},{"id":12,"text":"l"},{"id":13,"subNodes":[14,15],"text":"-(l, 3)"},{"id":14,"text":"l"},{"id":15,"text":"3"},{"id":16,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":11,"destId":16,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["l + 4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l - 3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":16,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec17(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec17(Confidentiality__this).json index c798f2c70..28d3b4644 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec17(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec17(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec17(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = +(h, l)"},{"id":7,"text":"l"},{"id":8,"subNodes":[9,10],"text":"+(h, l)"},{"id":9,"text":"h"},{"id":10,"text":"l"},{"id":11,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h + l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec17(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = +(h, l)"},{"id":7,"text":"l"},{"id":8,"subNodes":[9,10],"text":"+(h, l)"},{"id":9,"text":"h"},{"id":10,"text":"l"},{"id":11,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h + l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex1(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex1(Confidentiality__this).json index 20f4dbe96..87c351656 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex1(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex1(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec18ex1(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"<=(h, 30)"},{"id":4,"text":"h"},{"id":5,"text":"30"},{"id":6,"subNodes":[7,8],"text":"h = 5"},{"id":7,"text":"h"},{"id":8,"text":"5"},{"id":9,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"TrueEdge"},{"sourceId":3,"destId":9,"kind":"FalseEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":8,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":9,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec18ex1(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"<=(h, 30)"},{"id":4,"text":"h"},{"id":5,"text":"30"},{"id":6,"subNodes":[7,8],"text":"h = 5"},{"id":7,"text":"h"},{"id":8,"text":"5"},{"id":9,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"TrueEdge"},{"sourceId":3,"destId":9,"kind":"FalseEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":8,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":9,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex2(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex2(Confidentiality__this).json index f21d79bf0..049189b99 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex2(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec18ex2(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec18ex2(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 30)"},{"id":7,"text":"h"},{"id":8,"text":"30"},{"id":9,"subNodes":[10,11],"text":"l = 5"},{"id":10,"text":"l"},{"id":11,"text":"5"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec18ex2(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 30)"},{"id":7,"text":"h"},{"id":8,"text":"30"},{"id":9,"subNodes":[10,11],"text":"l = 5"},{"id":10,"text":"l"},{"id":11,"text":"5"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex1(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex1(Confidentiality__this).json index bd4be07b0..1076772a2 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex1(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex1(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec19ex1(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":14,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":14,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec19ex1(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":14,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":14,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex2(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex2(Confidentiality__this).json index 3025a08cd..cefd3229b 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex2(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex2(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec19ex2(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"h = +(h, 1)"},{"id":15,"text":"h"},{"id":16,"subNodes":[17,18],"text":"+(h, 1)"},{"id":17,"text":"h"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":14,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":15,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":16,"description":{"expressions":["h + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":17,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec19ex2(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"h = +(h, 1)"},{"id":15,"text":"h"},{"id":16,"subNodes":[17,18],"text":"+(h, 1)"},{"id":17,"text":"h"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":14,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":15,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":16,"description":{"expressions":["h + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":17,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex3(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex3(Confidentiality__this).json index 7a0e232d9..ecfa61156 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex3(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex3(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec19ex3(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec19ex3(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex4(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex4(Confidentiality__this).json index 4decba34d..b6646617f 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex4(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex4(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec19ex4(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = h"},{"id":7,"text":"l"},{"id":8,"text":"h"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec19ex4(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = h"},{"id":7,"text":"l"},{"id":8,"text":"h"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex5(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex5(Confidentiality__this).json index 9f18084dd..64559ff8c 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex5(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec19ex5(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec19ex5(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 0"},{"id":13,"text":"l"},{"id":14,"text":"0"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec19ex5(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 0"},{"id":13,"text":"l"},{"id":14,"text":"0"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex1(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex1(Confidentiality__this).json index 90346163b..b0c317a27 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex1(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex1(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec5ex1(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = h"},{"id":4,"text":"l"},{"id":5,"text":"h"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec5ex1(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = h"},{"id":4,"text":"l"},{"id":5,"text":"h"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex2(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex2(Confidentiality__this).json index b2bc5012e..f520f9790 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex2(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec5ex2(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec5ex2(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = *(h, 2)"},{"id":4,"text":"l"},{"id":5,"subNodes":[6,7],"text":"*(h, 2)"},{"id":6,"text":"h"},{"id":7,"text":"2"},{"id":8,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":8,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h * 2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec5ex2(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = *(h, 2)"},{"id":4,"text":"l"},{"id":5,"subNodes":[6,7],"text":"*(h, 2)"},{"id":6,"text":"h"},{"id":7,"text":"2"},{"id":8,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":8,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h * 2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec6(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec6(Confidentiality__this).json index 44bbada3a..1c76769c7 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec6(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec6(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec6(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec6(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec7(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec7(Confidentiality__this).json index 12dd58369..bf2292693 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec7(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec7(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec7(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 0)"},{"id":7,"text":"h"},{"id":8,"text":"0"},{"id":9,"subNodes":[10,11],"text":"h = -(h, 1)"},{"id":10,"text":"h"},{"id":11,"subNodes":[12,13],"text":"-(h, 1)"},{"id":12,"text":"h"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"l = +(l, 1)"},{"id":15,"text":"l"},{"id":16,"subNodes":[17,18],"text":"+(l, 1)"},{"id":17,"text":"l"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h - 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":16,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":17,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec7(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 0)"},{"id":7,"text":"h"},{"id":8,"text":"0"},{"id":9,"subNodes":[10,11],"text":"h = -(h, 1)"},{"id":10,"text":"h"},{"id":11,"subNodes":[12,13],"text":"-(h, 1)"},{"id":12,"text":"h"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"l = +(l, 1)"},{"id":15,"text":"l"},{"id":16,"subNodes":[17,18],"text":"+(l, 1)"},{"id":17,"text":"l"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h - 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":16,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":17,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec8(Confidentiality__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec8(Confidentiality__this).json index 70edf8cb1..768895834 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec8(Confidentiality__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/confidentiality/untyped_Confidentiality.confidentiality_lec8(Confidentiality__this).json @@ -1 +1 @@ -{"name":"untyped Confidentiality::confidentiality_lec8(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Confidentiality::confidentiality_lec8(Confidentiality* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Confidentiality*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Confidentiality*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/report.json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/report.json index ebf0db769..4f99e9ae4 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/report.json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/report.json @@ -23,14 +23,14 @@ "files" : [ "report.json", "untyped_Integrity.integrity_lec16(Integrity__this).json", "untyped_Integrity.integrity_lec17(Integrity__this).json", "untyped_Integrity.integrity_lec18ex1(Integrity__this).json", "untyped_Integrity.integrity_lec18ex2(Integrity__this).json", "untyped_Integrity.integrity_lec19ex1(Integrity__this).json", "untyped_Integrity.integrity_lec19ex2(Integrity__this).json", "untyped_Integrity.integrity_lec19ex3(Integrity__this).json", "untyped_Integrity.integrity_lec19ex4(Integrity__this).json", "untyped_Integrity.integrity_lec19ex5(Integrity__this).json", "untyped_Integrity.integrity_lec5ex1(Integrity__this).json", "untyped_Integrity.integrity_lec5ex2(Integrity__this).json", "untyped_Integrity.integrity_lec6(Integrity__this).json", "untyped_Integrity.integrity_lec7(Integrity__this).json", "untyped_Integrity.integrity_lec8(Integrity__this).json" ], "info" : { "cfgs" : "14", - "duration" : "2s 915ms", - "end" : "2023-03-17T17:01:10.613+01:00", + "duration" : "311ms", + "end" : "2023-04-20T12:45:35.788+02:00", "expressions" : "130", "files" : "14", "globals" : "0", "members" : "14", "programs" : "1", - "start" : "2023-03-17T17:01:07.698+01:00", + "start" : "2023-04-20T12:45:35.477+02:00", "statements" : "70", "units" : "1", "version" : "0.1b7", @@ -46,6 +46,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "NICheck", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec16(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec16(Integrity__this).json index fa9bcd6a9..a4265d2c9 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec16(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec16(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec16(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"h = +(l, 4)"},{"id":7,"text":"h"},{"id":8,"subNodes":[9,10],"text":"+(l, 4)"},{"id":9,"text":"l"},{"id":10,"text":"4"},{"id":11,"subNodes":[12,13],"text":"l = -(l, 3)"},{"id":12,"text":"l"},{"id":13,"subNodes":[14,15],"text":"-(l, 3)"},{"id":14,"text":"l"},{"id":15,"text":"3"},{"id":16,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":11,"destId":16,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["l + 4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l - 3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":16,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec16(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"h = +(l, 4)"},{"id":7,"text":"h"},{"id":8,"subNodes":[9,10],"text":"+(l, 4)"},{"id":9,"text":"l"},{"id":10,"text":"4"},{"id":11,"subNodes":[12,13],"text":"l = -(l, 3)"},{"id":12,"text":"l"},{"id":13,"subNodes":[14,15],"text":"-(l, 3)"},{"id":14,"text":"l"},{"id":15,"text":"3"},{"id":16,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"},{"sourceId":11,"destId":16,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["l + 4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["4"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l - 3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["3"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":16,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec17(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec17(Integrity__this).json index b2c8ed89a..40a92e9da 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec17(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec17(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec17(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = +(h, l)"},{"id":7,"text":"l"},{"id":8,"subNodes":[9,10],"text":"+(h, l)"},{"id":9,"text":"h"},{"id":10,"text":"l"},{"id":11,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h + l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec17(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = +(h, l)"},{"id":7,"text":"l"},{"id":8,"subNodes":[9,10],"text":"+(h, l)"},{"id":9,"text":"h"},{"id":10,"text":"l"},{"id":11,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h + l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex1(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex1(Integrity__this).json index 8c4753dbd..7de27e77b 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex1(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex1(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec18ex1(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"<=(h, 30)"},{"id":4,"text":"h"},{"id":5,"text":"30"},{"id":6,"subNodes":[7,8],"text":"h = 5"},{"id":7,"text":"h"},{"id":8,"text":"5"},{"id":9,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"TrueEdge"},{"sourceId":3,"destId":9,"kind":"FalseEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":8,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":9,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec18ex1(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"<=(h, 30)"},{"id":4,"text":"h"},{"id":5,"text":"30"},{"id":6,"subNodes":[7,8],"text":"h = 5"},{"id":7,"text":"h"},{"id":8,"text":"5"},{"id":9,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"TrueEdge"},{"sourceId":3,"destId":9,"kind":"FalseEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":8,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"HL"}}}},{"nodeId":9,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex2(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex2(Integrity__this).json index b5cda9d5b..09aa33ce7 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex2(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec18ex2(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec18ex2(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 30)"},{"id":7,"text":"h"},{"id":8,"text":"30"},{"id":9,"subNodes":[10,11],"text":"l = 5"},{"id":10,"text":"l"},{"id":11,"text":"5"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec18ex2(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 30)"},{"id":7,"text":"h"},{"id":8,"text":"30"},{"id":9,"subNodes":[10,11],"text":"l = 5"},{"id":10,"text":"l"},{"id":11,"text":"5"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["30"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex1(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex1(Integrity__this).json index 0741f7721..d69f040e6 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex1(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex1(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec19ex1(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":14,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":14,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec19ex1(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":14,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":14,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex2(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex2(Integrity__this).json index 2ccbcde3a..f0991e761 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex2(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex2(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec19ex2(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"h = +(h, 1)"},{"id":15,"text":"h"},{"id":16,"subNodes":[17,18],"text":"+(h, 1)"},{"id":17,"text":"h"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":14,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":15,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":16,"description":{"expressions":["h + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":17,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec19ex2(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(l, 34)"},{"id":7,"text":"l"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = +(l, 1)"},{"id":10,"text":"l"},{"id":11,"subNodes":[12,13],"text":"+(l, 1)"},{"id":12,"text":"l"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"h = +(h, 1)"},{"id":15,"text":"h"},{"id":16,"subNodes":[17,18],"text":"+(h, 1)"},{"id":17,"text":"h"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":11,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":14,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":15,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":16,"description":{"expressions":["h + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":17,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HH"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex3(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex3(Integrity__this).json index 68dfb3b04..375f881b2 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex3(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex3(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec19ex3(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec19ex3(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex4(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex4(Integrity__this).json index cfc75652f..5038daa45 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex4(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex4(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec19ex4(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = h"},{"id":7,"text":"l"},{"id":8,"text":"h"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec19ex4(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"l = h"},{"id":7,"text":"l"},{"id":8,"text":"h"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"SequentialEdge"},{"sourceId":9,"destId":12,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":12,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex5(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex5(Integrity__this).json index faed3fce4..fbbafc60b 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex5(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec19ex5(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec19ex5(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 0"},{"id":13,"text":"l"},{"id":14,"text":"0"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec19ex5(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":"<=(h, 34)"},{"id":7,"text":"h"},{"id":8,"text":"34"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 0"},{"id":13,"text":"l"},{"id":14,"text":"0"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h <= 34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["34"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex1(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex1(Integrity__this).json index b6b323714..6c3f3499e 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex1(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex1(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec5ex1(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = h"},{"id":4,"text":"l"},{"id":5,"text":"h"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec5ex1(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = h"},{"id":4,"text":"l"},{"id":5,"text":"h"},{"id":6,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex2(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex2(Integrity__this).json index 7bf69c2ce..1a35e4435 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex2(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec5ex2(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec5ex2(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = *(h, 2)"},{"id":4,"text":"l"},{"id":5,"subNodes":[6,7],"text":"*(h, 2)"},{"id":6,"text":"h"},{"id":7,"text":"2"},{"id":8,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":8,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h * 2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec5ex2(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = *(h, 2)"},{"id":4,"text":"l"},{"id":5,"subNodes":[6,7],"text":"*(h, 2)"},{"id":6,"text":"h"},{"id":7,"text":"2"},{"id":8,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":8,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h * 2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec6(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec6(Integrity__this).json index 7c031edee..a0ecd6570 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec6(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec6(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec6(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec6(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec7(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec7(Integrity__this).json index d132d8636..37057de39 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec7(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec7(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec7(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 0)"},{"id":7,"text":"h"},{"id":8,"text":"0"},{"id":9,"subNodes":[10,11],"text":"h = -(h, 1)"},{"id":10,"text":"h"},{"id":11,"subNodes":[12,13],"text":"-(h, 1)"},{"id":12,"text":"h"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"l = +(l, 1)"},{"id":15,"text":"l"},{"id":16,"subNodes":[17,18],"text":"+(l, 1)"},{"id":17,"text":"l"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h - 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":16,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":17,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec7(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 0)"},{"id":7,"text":"h"},{"id":8,"text":"0"},{"id":9,"subNodes":[10,11],"text":"h = -(h, 1)"},{"id":10,"text":"h"},{"id":11,"subNodes":[12,13],"text":"-(h, 1)"},{"id":12,"text":"h"},{"id":13,"text":"1"},{"id":14,"subNodes":[15,16],"text":"l = +(l, 1)"},{"id":15,"text":"l"},{"id":16,"subNodes":[17,18],"text":"+(l, 1)"},{"id":17,"text":"l"},{"id":18,"text":"1"},{"id":19,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":19,"kind":"FalseEdge"},{"sourceId":9,"destId":14,"kind":"SequentialEdge"},{"sourceId":14,"destId":6,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h - 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":16,"description":{"expressions":["l + 1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":17,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":18,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":19,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec8(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec8(Integrity__this).json index a5c6b5811..013e5cc01 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec8(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/untyped_Integrity.integrity_lec8(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::integrity_lec8(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::integrity_lec8(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"h = h"},{"id":10,"text":"h"},{"id":11,"text":"h"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":6,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}},{"nodeId":15,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"HH"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json index 482895af0..b770e77d2 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json @@ -6,17 +6,17 @@ }, { "message" : "['imp-testcases/non-interference/interproc/program.imp':20:7] on 'untyped Integrity::confidentiality_lec6_declassified(Integrity* this)': [EXPRESSION] This assignment, located in a HIGH confidentiality block, assigns a LOW confidentiality variable, thus violating non-interference" } ], - "files" : [ "report.json", "untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-2086616829.json", "untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-2057990561.json", "untyped_Integrity.declassify(Integrity__this,_untyped_y)_-509664780.json", "untyped_Integrity.declassify(Integrity__this,_untyped_y)_119339351.json", "untyped_Integrity.main(Integrity__this).json" ], + "files" : [ "report.json", "untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-791177979.json", "untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-791180831.json", "untyped_Integrity.declassify(Integrity__this,_untyped_y)_451999607.json", "untyped_Integrity.declassify(Integrity__this,_untyped_y)_452087709.json", "untyped_Integrity.main(Integrity__this).json" ], "info" : { "cfgs" : "4", - "duration" : "206ms", - "end" : "2023-03-17T17:20:41.980+01:00", + "duration" : "71ms", + "end" : "2023-04-20T12:45:37.108+02:00", "expressions" : "29", "files" : "5", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-17T17:20:41.774+01:00", + "start" : "2023-04-20T12:45:37.037+02:00", "statements" : "17", "units" : "1", "version" : "0.1b7", @@ -32,6 +32,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "NICheck", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-2086616829.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-2086616829.json deleted file mode 100644 index c66a53a5e..000000000 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-2086616829.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped Integrity::confidentiality_lec5ex1_declassified(Integrity* this)","description":"[['imp-testcases/non-interference/interproc/program.imp':28:44]]","nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = h"},{"id":4,"text":"l"},{"id":5,"text":"h"},{"id":6,"subNodes":[7,8],"text":"l = declassify(this, h)"},{"id":7,"text":"l"},{"id":8,"subNodes":[9,10],"text":"declassify(this, h)"},{"id":9,"text":"this"},{"id":10,"text":"h"},{"id":11,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-791177979.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-791177979.json new file mode 100644 index 000000000..b404f888e --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-791177979.json @@ -0,0 +1 @@ +{"name":"untyped Integrity::confidentiality_lec5ex1_declassified(Integrity* this)","description":"['imp-testcases/non-interference/interproc/program.imp':28:44]","nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = h"},{"id":4,"text":"l"},{"id":5,"text":"h"},{"id":6,"subNodes":[7,8],"text":"l = declassify(this, h)"},{"id":7,"text":"l"},{"id":8,"subNodes":[9,10],"text":"declassify(this, h)"},{"id":9,"text":"this"},{"id":10,"text":"h"},{"id":11,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":11,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':11:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":10,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":11,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-2057990561.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-2057990561.json deleted file mode 100644 index d12b9ae59..000000000 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-2057990561.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped Integrity::confidentiality_lec6_declassified(Integrity* this)","description":"[['imp-testcases/non-interference/interproc/program.imp':29:41]]","nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"subNodes":[16,19],"text":">(declassify(this, h), 5000)"},{"id":16,"subNodes":[17,18],"text":"declassify(this, h)"},{"id":17,"text":"this"},{"id":18,"text":"h"},{"id":19,"text":"5000"},{"id":20,"subNodes":[21,22],"text":"l = 0"},{"id":21,"text":"l"},{"id":22,"text":"0"},{"id":23,"subNodes":[24,25],"text":"l = 1"},{"id":24,"text":"l"},{"id":25,"text":"1"},{"id":26,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"},{"sourceId":15,"destId":20,"kind":"TrueEdge"},{"sourceId":15,"destId":23,"kind":"FalseEdge"},{"sourceId":20,"destId":26,"kind":"SequentialEdge"},{"sourceId":23,"destId":26,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23 > 5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":17,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":18,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":19,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":20,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":21,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":22,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":23,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":24,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":25,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":26,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"_|_"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-791180831.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-791180831.json new file mode 100644 index 000000000..fb13797e5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-791180831.json @@ -0,0 +1 @@ +{"name":"untyped Integrity::confidentiality_lec6_declassified(Integrity* this)","description":"['imp-testcases/non-interference/interproc/program.imp':29:41]","nodes":[{"id":0,"subNodes":[1,2],"text":"h = 5"},{"id":1,"text":"h"},{"id":2,"text":"5"},{"id":3,"subNodes":[4,5],"text":"l = 0"},{"id":4,"text":"l"},{"id":5,"text":"0"},{"id":6,"subNodes":[7,8],"text":">(h, 5000)"},{"id":7,"text":"h"},{"id":8,"text":"5000"},{"id":9,"subNodes":[10,11],"text":"l = 0"},{"id":10,"text":"l"},{"id":11,"text":"0"},{"id":12,"subNodes":[13,14],"text":"l = 1"},{"id":13,"text":"l"},{"id":14,"text":"1"},{"id":15,"subNodes":[16,19],"text":">(declassify(this, h), 5000)"},{"id":16,"subNodes":[17,18],"text":"declassify(this, h)"},{"id":17,"text":"this"},{"id":18,"text":"h"},{"id":19,"text":"5000"},{"id":20,"subNodes":[21,22],"text":"l = 0"},{"id":21,"text":"l"},{"id":22,"text":"0"},{"id":23,"subNodes":[24,25],"text":"l = 1"},{"id":24,"text":"l"},{"id":25,"text":"1"},{"id":26,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":9,"kind":"TrueEdge"},{"sourceId":6,"destId":12,"kind":"FalseEdge"},{"sourceId":9,"destId":15,"kind":"SequentialEdge"},{"sourceId":12,"destId":15,"kind":"SequentialEdge"},{"sourceId":15,"destId":20,"kind":"TrueEdge"},{"sourceId":15,"destId":23,"kind":"FalseEdge"},{"sourceId":20,"destId":26,"kind":"SequentialEdge"},{"sourceId":23,"destId":26,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["5"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":4,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":5,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL"},"state":"LH"}}}},{"nodeId":6,"description":{"expressions":["h > 5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":7,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":8,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":9,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":10,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":11,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":12,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":13,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":14,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"HL"}}}},{"nodeId":15,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23 > 5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":17,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":18,"description":{"expressions":["h"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":19,"description":{"expressions":["5000"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":["int32"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"call_ret_value@'imp-testcases/non-interference/interproc/program.imp':21:23":"LL","h":"HL","l":"LL"},"state":"LH"}}}},{"nodeId":20,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":21,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":22,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":23,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":24,"description":{"expressions":["l"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":25,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LL"}}}},{"nodeId":26,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"h":["int32"],"l":["int32"],"this":["Integrity*"]},"value":{"map":{"h":"HL","l":"LL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_-509664780.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_-509664780.json deleted file mode 100644 index 63bb46618..000000000 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_-509664780.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped Integrity::declassify(Integrity* this, untyped y)","description":"[['imp-testcases/non-interference/interproc/program.imp':29:41], ['imp-testcases/non-interference/interproc/program.imp':21:23]]","nodes":[{"id":0,"subNodes":[1],"text":"return y"},{"id":1,"text":"y"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@declassify"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:this":["Integrity*"],"ret_value@declassify":["int32"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':21:23]:l":"LL","ret_value@declassify":"HL","y":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:this":["Integrity*"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':21:23]:l":"LL","y":"HL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_119339351.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_119339351.json deleted file mode 100644 index 4d579ff06..000000000 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_119339351.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped Integrity::declassify(Integrity* this, untyped y)","description":"[['imp-testcases/non-interference/interproc/program.imp':28:44], ['imp-testcases/non-interference/interproc/program.imp':11:23]]","nodes":[{"id":0,"subNodes":[1],"text":"return y"},{"id":1,"text":"y"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@declassify"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:this":["Integrity*"],"ret_value@declassify":["int32"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':11:23]:l":"LL","ret_value@declassify":"HL","y":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:this":["Integrity*"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':11:23]:l":"LL","y":"HL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_451999607.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_451999607.json new file mode 100644 index 000000000..1482c1cdd --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_451999607.json @@ -0,0 +1 @@ +{"name":"untyped Integrity::declassify(Integrity* this, untyped y)","description":"['imp-testcases/non-interference/interproc/program.imp':29:41, 'imp-testcases/non-interference/interproc/program.imp':21:23]","nodes":[{"id":0,"subNodes":[1],"text":"return y"},{"id":1,"text":"y"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@declassify"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:this":["Integrity*"],"ret_value@declassify":["int32"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':21:23]:l":"LL","ret_value@declassify":"HL","y":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:['imp-testcases/non-interference/interproc/program.imp':29:41]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':21:23]:this":["Integrity*"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':21:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':21:23]:l":"LL","y":"HL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_452087709.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_452087709.json new file mode 100644 index 000000000..7ccf73de2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_452087709.json @@ -0,0 +1 @@ +{"name":"untyped Integrity::declassify(Integrity* this, untyped y)","description":"['imp-testcases/non-interference/interproc/program.imp':28:44, 'imp-testcases/non-interference/interproc/program.imp':11:23]","nodes":[{"id":0,"subNodes":[1],"text":"return y"},{"id":1,"text":"y"}],"edges":[],"descriptions":[{"nodeId":0,"description":{"expressions":["ret_value@declassify"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:this":["Integrity*"],"ret_value@declassify":["int32"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':11:23]:l":"LL","ret_value@declassify":"HL","y":"HL"},"state":"LH"}}}},{"nodeId":1,"description":{"expressions":["y"],"state":{"heap":"monolith","type":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:['imp-testcases/non-interference/interproc/program.imp':28:44]:this":["Integrity*"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:l":["int32"],"['imp-testcases/non-interference/interproc/program.imp':11:23]:this":["Integrity*"],"this":["Integrity*"],"y":["int32"]},"value":{"map":{"['imp-testcases/non-interference/interproc/program.imp':11:23]:h":"HL","['imp-testcases/non-interference/interproc/program.imp':11:23]:l":"LL","y":"HL"},"state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.main(Integrity__this).json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.main(Integrity__this).json index 5378f84c6..f28503782 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.main(Integrity__this).json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.main(Integrity__this).json @@ -1 +1 @@ -{"name":"untyped Integrity::main(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1],"text":"confidentiality_lec5ex1_declassified(this)"},{"id":1,"text":"this"},{"id":2,"subNodes":[3],"text":"confidentiality_lec6_declassified(this)"},{"id":3,"text":"this"},{"id":4,"text":"ret"}],"edges":[{"sourceId":0,"destId":2,"kind":"SequentialEdge"},{"sourceId":2,"destId":4,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':28:44"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":1,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/non-interference/interproc/program.imp':29:41"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":4,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"_|_"}}}}]} \ No newline at end of file +{"name":"untyped Integrity::main(Integrity* this)","description":null,"nodes":[{"id":0,"subNodes":[1],"text":"confidentiality_lec5ex1_declassified(this)"},{"id":1,"text":"this"},{"id":2,"subNodes":[3],"text":"confidentiality_lec6_declassified(this)"},{"id":3,"text":"this"},{"id":4,"text":"ret"}],"edges":[{"sourceId":0,"destId":2,"kind":"SequentialEdge"},{"sourceId":2,"destId":4,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":1,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":2,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}},{"nodeId":4,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"this":["Integrity*"]},"value":{"map":"empty","state":"LH"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/non-redundant-set-interval/report.json b/lisa/lisa-analyses/imp-testcases/non-redundant-set-interval/report.json index c91c829fe..1a78aff87 100644 --- a/lisa/lisa-analyses/imp-testcases/non-redundant-set-interval/report.json +++ b/lisa/lisa-analyses/imp-testcases/non-redundant-set-interval/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.div(tutorial__this,_untyped_i,_untyped_j).json", "untyped_tutorial.doublewhile(tutorial__this,_untyped_t).json", "untyped_tutorial.gcd(tutorial__this,_untyped_a,_untyped_b).json", "untyped_tutorial.glb(tutorial__this,_untyped_x,_untyped_y).json", "untyped_tutorial.intv_dec(tutorial__this).json", "untyped_tutorial.sat(tutorial__this).json", "untyped_tutorial.sat2(tutorial__this).json" ], "info" : { "cfgs" : "7", - "duration" : "279ms", - "end" : "2023-03-16T22:40:02.516+01:00", + "duration" : "234ms", + "end" : "2023-04-20T12:45:37.520+02:00", "expressions" : "85", "files" : "7", "globals" : "0", "members" : "7", "programs" : "1", - "start" : "2023-03-16T22:40:02.237+01:00", + "start" : "2023-04-20T12:45:37.286+02:00", "statements" : "34", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/parity/report.json b/lisa/lisa-analyses/imp-testcases/parity/report.json index 4f94956f4..c1a357899 100644 --- a/lisa/lisa-analyses/imp-testcases/parity/report.json +++ b/lisa/lisa-analyses/imp-testcases/parity/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.constants(tutorial__this).json", "untyped_tutorial.div(tutorial__this,_untyped_i,_untyped_j).json", "untyped_tutorial.gcd(tutorial__this,_untyped_a,_untyped_b).json", "untyped_tutorial.intv_dec(tutorial__this).json", "untyped_tutorial.sign_parity_example(tutorial__this).json", "untyped_tutorial.ub_example(tutorial__this,_untyped_y,_untyped_z).json" ], "info" : { "cfgs" : "6", - "duration" : "67ms", - "end" : "2023-03-16T22:40:04.112+01:00", + "duration" : "110ms", + "end" : "2023-04-20T12:45:38.955+02:00", "expressions" : "68", "files" : "6", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:04.045+01:00", + "start" : "2023-04-20T12:45:38.845+02:00", "statements" : "28", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/prefix/report.json b/lisa/lisa-analyses/imp-testcases/prefix/report.json index 501f0c6f0..e0b06abe5 100644 --- a/lisa/lisa-analyses/imp-testcases/prefix/report.json +++ b/lisa/lisa-analyses/imp-testcases/prefix/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_prefix.m1(prefix__this).json", "untyped_prefix.m2(prefix__this,_untyped_x).json", "untyped_prefix.m3(prefix__this,_untyped_x).json" ], "info" : { "cfgs" : "3", - "duration" : "34ms", - "end" : "2023-03-16T22:40:05.661+01:00", + "duration" : "85ms", + "end" : "2023-04-20T12:45:40.253+02:00", "expressions" : "24", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:05.627+01:00", + "start" : "2023-04-20T12:45:40.168+02:00", "statements" : "13", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/reaching-definitions/report.json b/lisa/lisa-analyses/imp-testcases/reaching-definitions/report.json index cb0b1585f..f54e8ff8f 100644 --- a/lisa/lisa-analyses/imp-testcases/reaching-definitions/report.json +++ b/lisa/lisa-analyses/imp-testcases/reaching-definitions/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_reachingDefinitions.test1(reachingDefinitions__this).json", "untyped_reachingDefinitions.test2(reachingDefinitions__this).json", "untyped_reachingDefinitions.test3(reachingDefinitions__this).json" ], "info" : { "cfgs" : "3", - "duration" : "775ms", - "end" : "2023-03-17T11:41:10.229+01:00", + "duration" : "126ms", + "end" : "2023-04-20T12:45:19.332+02:00", "expressions" : "26", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-17T11:41:09.454+01:00", + "start" : "2023-04-20T12:45:19.206+02:00", "statements" : "15", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/sign/report.json b/lisa/lisa-analyses/imp-testcases/sign/report.json index 308c905c1..0decf98f0 100644 --- a/lisa/lisa-analyses/imp-testcases/sign/report.json +++ b/lisa/lisa-analyses/imp-testcases/sign/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.constants(tutorial__this).json", "untyped_tutorial.div(tutorial__this,_untyped_i,_untyped_j).json", "untyped_tutorial.gcd(tutorial__this,_untyped_a,_untyped_b).json", "untyped_tutorial.intv_dec(tutorial__this).json", "untyped_tutorial.sign_parity_example(tutorial__this).json", "untyped_tutorial.ub_example(tutorial__this,_untyped_y,_untyped_z).json" ], "info" : { "cfgs" : "6", - "duration" : "75ms", - "end" : "2023-03-16T22:40:02.997+01:00", + "duration" : "88ms", + "end" : "2023-04-20T12:45:37.714+02:00", "expressions" : "68", "files" : "6", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:02.922+01:00", + "start" : "2023-04-20T12:45:37.626+02:00", "statements" : "28", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/suffix/report.json b/lisa/lisa-analyses/imp-testcases/suffix/report.json index baf5bfd3e..307639a54 100644 --- a/lisa/lisa-analyses/imp-testcases/suffix/report.json +++ b/lisa/lisa-analyses/imp-testcases/suffix/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_suffix.m1(suffix__this).json", "untyped_suffix.m2(suffix__this,_untyped_x).json", "untyped_suffix.m3(suffix__this,_untyped_x).json" ], "info" : { "cfgs" : "3", - "duration" : "46ms", - "end" : "2023-03-16T22:40:05.876+01:00", + "duration" : "60ms", + "end" : "2023-04-20T12:45:40.479+02:00", "expressions" : "24", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:05.830+01:00", + "start" : "2023-04-20T12:45:40.419+02:00", "statements" : "13", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/syntactic/report.json b/lisa/lisa-analyses/imp-testcases/syntactic/report.json index af304f2f8..829c395cb 100644 --- a/lisa/lisa-analyses/imp-testcases/syntactic/report.json +++ b/lisa/lisa-analyses/imp-testcases/syntactic/report.json @@ -21,14 +21,14 @@ "files" : [ "report.json" ], "info" : { "cfgs" : "9", - "duration" : "1s 703ms", - "end" : "2023-03-17T10:33:34.371+01:00", + "duration" : "909ms", + "end" : "2023-04-20T12:44:49.939+02:00", "expressions" : "34", "files" : "0", "globals" : "0", "members" : "9", "programs" : "1", - "start" : "2023-03-17T10:33:32.668+01:00", + "start" : "2023-04-20T12:44:49.030+02:00", "statements" : "16", "units" : "1", "version" : "0.1b7", @@ -44,6 +44,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "false", diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/report.json b/lisa/lisa-analyses/imp-testcases/taint/2val/report.json index 618e24d3f..1e9052fd4 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/2val/report.json +++ b/lisa/lisa-analyses/imp-testcases/taint/2val/report.json @@ -64,17 +64,17 @@ }, { "message" : "['imp-testcases/taint/taint.imp':95:13] on 'untyped main::main(main* this)': [EXPRESSION] Parameter 1 is possibly tainted" } ], - "files" : [ "report.json", "untyped_main.main(main__this).json", "untyped_main.sink(main__this,_untyped_v)_1833522976.json", "untyped_main.sink(main__this,_untyped_v)_1834446497.json", "untyped_main.sink(main__this,_untyped_v)_1835370018.json", "untyped_main.sink(main__this,_untyped_v)_1859381564.json", "untyped_main.sink(main__this,_untyped_v)_1860305085.json", "untyped_main.sink(main__this,_untyped_v)_1863999169.json", "untyped_main.sink(main__this,_untyped_v)_1865846211.json", "untyped_main.sink(main__this,_untyped_v)_1887087194.json", "untyped_main.sink(main__this,_untyped_v)_1890781278.json", "untyped_main.sink(main__this,_untyped_v)_1892628320.json", "untyped_main.sink(main__this,_untyped_v)_1894475362.json", "untyped_main.sink(main__this,_untyped_v)_1915716345.json", "untyped_main.sink(main__this,_untyped_v)_1917563387.json", "untyped_main.sink(main__this,_untyped_v)_1919410429.json", "untyped_main.sink(main__this,_untyped_v)_1921257471.json", "untyped_main.sink(main__this,_untyped_v)_1923104513.json", "untyped_main.sink(main__this,_untyped_v)_1944345496.json", "untyped_main.sink(main__this,_untyped_v)_1948039580.json", "untyped_main.sink(main__this,_untyped_v)_1949886622.json", "untyped_main.sink(main__this,_untyped_v)_1951733664.json", "untyped_main.sink(main__this,_untyped_v)_1972974647.json", "untyped_main.sink(main__this,_untyped_v)_1974821689.json", "untyped_main.sink(main__this,_untyped_v)_1976668731.json", "untyped_main.sink(main__this,_untyped_v)_1978515773.json", "untyped_main.sink(main__this,_untyped_v)_1980362815.json", "untyped_main.sink(main__this,_untyped_v)_2001603798.json", "untyped_main.sink(main__this,_untyped_v)_2003450840.json", "untyped_main.sink(main__this,_untyped_v)_2005297882.json", "untyped_main.sink(main__this,_untyped_v)_2007144924.json", "untyped_main.sink(main__this,_untyped_v)_2008991966.json", "untyped_main.sink(main__this,_untyped_v)_2030232949.json", "untyped_main.sink(main__this,_untyped_v)_2032079991.json", "untyped_main.sink(main__this,_untyped_v)_2033927033.json", "untyped_main.sink(main__this,_untyped_v)_2035774075.json", "untyped_main.sink(main__this,_untyped_v)_2037621117.json", "untyped_main.sink(main__this,_untyped_v)_2058862100.json", "untyped_main.sink(main__this,_untyped_v)_2060709142.json", "untyped_main.sink(main__this,_untyped_v)_2062556184.json", "untyped_main.source(main__this)_1832600385.json", "untyped_main.source(main__this)_1857534708.json" ], + "files" : [ "report.json", "untyped_main.main(main__this).json", "untyped_main.sink(main__this,_untyped_v)_1997455120.json", "untyped_main.sink(main__this,_untyped_v)_1997455151.json", "untyped_main.sink(main__this,_untyped_v)_1997455182.json", "untyped_main.sink(main__this,_untyped_v)_1997455337.json", "untyped_main.sink(main__this,_untyped_v)_1997455368.json", "untyped_main.sink(main__this,_untyped_v)_1997455492.json", "untyped_main.sink(main__this,_untyped_v)_1997455554.json", "untyped_main.sink(main__this,_untyped_v)_1997455616.json", "untyped_main.sink(main__this,_untyped_v)_1997455740.json", "untyped_main.sink(main__this,_untyped_v)_1997455802.json", "untyped_main.sink(main__this,_untyped_v)_1997455864.json", "untyped_main.sink(main__this,_untyped_v)_1997455926.json", "untyped_main.sink(main__this,_untyped_v)_1997455988.json", "untyped_main.sink(main__this,_untyped_v)_1997456050.json", "untyped_main.sink(main__this,_untyped_v)_1997456112.json", "untyped_main.sink(main__this,_untyped_v)_1997456174.json", "untyped_main.sink(main__this,_untyped_v)_1997456236.json", "untyped_main.sink(main__this,_untyped_v)_1997456360.json", "untyped_main.sink(main__this,_untyped_v)_1997456422.json", "untyped_main.sink(main__this,_untyped_v)_1997456484.json", "untyped_main.sink(main__this,_untyped_v)_1997456546.json", "untyped_main.sink(main__this,_untyped_v)_1997456608.json", "untyped_main.sink(main__this,_untyped_v)_1997456670.json", "untyped_main.sink(main__this,_untyped_v)_1997456732.json", "untyped_main.sink(main__this,_untyped_v)_1997456794.json", "untyped_main.sink(main__this,_untyped_v)_1997456856.json", "untyped_main.sink(main__this,_untyped_v)_1997456918.json", "untyped_main.sink(main__this,_untyped_v)_1997456980.json", "untyped_main.sink(main__this,_untyped_v)_1997457042.json", "untyped_main.sink(main__this,_untyped_v)_1997457104.json", "untyped_main.sink(main__this,_untyped_v)_1997457166.json", "untyped_main.sink(main__this,_untyped_v)_1997457228.json", "untyped_main.sink(main__this,_untyped_v)_1997457290.json", "untyped_main.sink(main__this,_untyped_v)_1997457352.json", "untyped_main.sink(main__this,_untyped_v)_1997457414.json", "untyped_main.sink(main__this,_untyped_v)_1997457476.json", "untyped_main.sink(main__this,_untyped_v)_1997457538.json", "untyped_main.sink(main__this,_untyped_v)_1997457600.json", "untyped_main.source(main__this)_1997461041.json", "untyped_main.source(main__this)_1997463738.json" ], "info" : { "cfgs" : "3", - "duration" : "1s 817ms", - "end" : "2023-03-17T12:02:18.657+01:00", + "duration" : "1s 162ms", + "end" : "2023-04-20T12:45:42.236+02:00", "expressions" : "237", "files" : "41", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-17T12:02:16.840+01:00", + "start" : "2023-04-20T12:45:41.074+02:00", "statements" : "79", "units" : "1", "version" : "0.1b7", @@ -90,6 +90,7 @@ "jsonOutput" : "true", "openCallPolicy" : "ReturnTopPolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "TaintCheck", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.main(main__this).json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.main(main__this).json index 7bf8647a9..45e9a76be 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.main(main__this).json +++ b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.main(main__this).json @@ -1 +1 @@ -{"name":"untyped main::main(main* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = \"a\""},{"id":1,"text":"k"},{"id":2,"text":"\"a\""},{"id":3,"subNodes":[4,5],"text":"j = \"b\""},{"id":4,"text":"j"},{"id":5,"text":"\"b\""},{"id":6,"subNodes":[7,8],"text":"v = source(this)"},{"id":7,"text":"v"},{"id":8,"subNodes":[9],"text":"source(this)"},{"id":9,"text":"this"},{"id":10,"subNodes":[11,12],"text":"sink(this, v)"},{"id":11,"text":"this"},{"id":12,"text":"v"},{"id":13,"subNodes":[14,15],"text":"sink(this, k)"},{"id":14,"text":"this"},{"id":15,"text":"k"},{"id":16,"subNodes":[17,18],"text":"sink(this, j)"},{"id":17,"text":"this"},{"id":18,"text":"j"},{"id":19,"text":"v"},{"id":20,"subNodes":[21,22],"text":"k = source(this)"},{"id":21,"text":"k"},{"id":22,"subNodes":[23],"text":"source(this)"},{"id":23,"text":"this"},{"id":24,"subNodes":[25,26],"text":"sink(this, k)"},{"id":25,"text":"this"},{"id":26,"text":"k"},{"id":27,"subNodes":[28,29],"text":"sink(this, j)"},{"id":28,"text":"this"},{"id":29,"text":"j"},{"id":30,"subNodes":[31,32],"text":"r = len(v)"},{"id":31,"text":"r"},{"id":32,"subNodes":[33],"text":"len(v)"},{"id":33,"text":"v"},{"id":34,"subNodes":[35,36],"text":"sink(this, r)"},{"id":35,"text":"this"},{"id":36,"text":"r"},{"id":37,"subNodes":[38,39],"text":"r = len(k)"},{"id":38,"text":"r"},{"id":39,"subNodes":[40],"text":"len(k)"},{"id":40,"text":"k"},{"id":41,"subNodes":[42,43],"text":"sink(this, r)"},{"id":42,"text":"this"},{"id":43,"text":"r"},{"id":44,"subNodes":[45,46],"text":"r = len(j)"},{"id":45,"text":"r"},{"id":46,"subNodes":[47],"text":"len(j)"},{"id":47,"text":"j"},{"id":48,"subNodes":[49,50],"text":"sink(this, r)"},{"id":49,"text":"this"},{"id":50,"text":"r"},{"id":51,"subNodes":[52,53],"text":"r = concat(k, k)"},{"id":52,"text":"r"},{"id":53,"subNodes":[54,55],"text":"concat(k, k)"},{"id":54,"text":"k"},{"id":55,"text":"k"},{"id":56,"subNodes":[57,58],"text":"sink(this, r)"},{"id":57,"text":"this"},{"id":58,"text":"r"},{"id":59,"subNodes":[60,61],"text":"r = concat(k, v)"},{"id":60,"text":"r"},{"id":61,"subNodes":[62,63],"text":"concat(k, v)"},{"id":62,"text":"k"},{"id":63,"text":"v"},{"id":64,"subNodes":[65,66],"text":"sink(this, r)"},{"id":65,"text":"this"},{"id":66,"text":"r"},{"id":67,"subNodes":[68,69],"text":"r = concat(k, j)"},{"id":68,"text":"r"},{"id":69,"subNodes":[70,71],"text":"concat(k, j)"},{"id":70,"text":"k"},{"id":71,"text":"j"},{"id":72,"subNodes":[73,74],"text":"sink(this, r)"},{"id":73,"text":"this"},{"id":74,"text":"r"},{"id":75,"subNodes":[76,77],"text":"r = concat(v, v)"},{"id":76,"text":"r"},{"id":77,"subNodes":[78,79],"text":"concat(v, v)"},{"id":78,"text":"v"},{"id":79,"text":"v"},{"id":80,"subNodes":[81,82],"text":"sink(this, r)"},{"id":81,"text":"this"},{"id":82,"text":"r"},{"id":83,"subNodes":[84,85],"text":"r = concat(v, j)"},{"id":84,"text":"r"},{"id":85,"subNodes":[86,87],"text":"concat(v, j)"},{"id":86,"text":"v"},{"id":87,"text":"j"},{"id":88,"subNodes":[89,90],"text":"sink(this, r)"},{"id":89,"text":"this"},{"id":90,"text":"r"},{"id":91,"subNodes":[92,93],"text":"r = concat(j, j)"},{"id":92,"text":"r"},{"id":93,"subNodes":[94,95],"text":"concat(j, j)"},{"id":94,"text":"j"},{"id":95,"text":"j"},{"id":96,"subNodes":[97,98],"text":"sink(this, r)"},{"id":97,"text":"this"},{"id":98,"text":"r"},{"id":99,"subNodes":[100,101],"text":"r = concat(v, k)"},{"id":100,"text":"r"},{"id":101,"subNodes":[102,103],"text":"concat(v, k)"},{"id":102,"text":"v"},{"id":103,"text":"k"},{"id":104,"subNodes":[105,106],"text":"sink(this, r)"},{"id":105,"text":"this"},{"id":106,"text":"r"},{"id":107,"subNodes":[108,109],"text":"r = concat(j, k)"},{"id":108,"text":"r"},{"id":109,"subNodes":[110,111],"text":"concat(j, k)"},{"id":110,"text":"j"},{"id":111,"text":"k"},{"id":112,"subNodes":[113,114],"text":"sink(this, r)"},{"id":113,"text":"this"},{"id":114,"text":"r"},{"id":115,"subNodes":[116,117],"text":"r = concat(j, v)"},{"id":116,"text":"r"},{"id":117,"subNodes":[118,119],"text":"concat(j, v)"},{"id":118,"text":"j"},{"id":119,"text":"v"},{"id":120,"subNodes":[121,122],"text":"sink(this, r)"},{"id":121,"text":"this"},{"id":122,"text":"r"},{"id":123,"subNodes":[124,125],"text":"r = replace(k, k, k)"},{"id":124,"text":"r"},{"id":125,"subNodes":[126,127,128],"text":"replace(k, k, k)"},{"id":126,"text":"k"},{"id":127,"text":"k"},{"id":128,"text":"k"},{"id":129,"subNodes":[130,131],"text":"sink(this, r)"},{"id":130,"text":"this"},{"id":131,"text":"r"},{"id":132,"subNodes":[133,134],"text":"r = replace(k, k, v)"},{"id":133,"text":"r"},{"id":134,"subNodes":[135,136,137],"text":"replace(k, k, v)"},{"id":135,"text":"k"},{"id":136,"text":"k"},{"id":137,"text":"v"},{"id":138,"subNodes":[139,140],"text":"sink(this, r)"},{"id":139,"text":"this"},{"id":140,"text":"r"},{"id":141,"subNodes":[142,143],"text":"r = replace(k, v, k)"},{"id":142,"text":"r"},{"id":143,"subNodes":[144,145,146],"text":"replace(k, v, k)"},{"id":144,"text":"k"},{"id":145,"text":"v"},{"id":146,"text":"k"},{"id":147,"subNodes":[148,149],"text":"sink(this, r)"},{"id":148,"text":"this"},{"id":149,"text":"r"},{"id":150,"subNodes":[151,152],"text":"r = replace(k, v, v)"},{"id":151,"text":"r"},{"id":152,"subNodes":[153,154,155],"text":"replace(k, v, v)"},{"id":153,"text":"k"},{"id":154,"text":"v"},{"id":155,"text":"v"},{"id":156,"subNodes":[157,158],"text":"sink(this, r)"},{"id":157,"text":"this"},{"id":158,"text":"r"},{"id":159,"subNodes":[160,161],"text":"r = replace(v, k, k)"},{"id":160,"text":"r"},{"id":161,"subNodes":[162,163,164],"text":"replace(v, k, k)"},{"id":162,"text":"v"},{"id":163,"text":"k"},{"id":164,"text":"k"},{"id":165,"subNodes":[166,167],"text":"sink(this, r)"},{"id":166,"text":"this"},{"id":167,"text":"r"},{"id":168,"subNodes":[169,170],"text":"r = replace(v, k, v)"},{"id":169,"text":"r"},{"id":170,"subNodes":[171,172,173],"text":"replace(v, k, v)"},{"id":171,"text":"v"},{"id":172,"text":"k"},{"id":173,"text":"v"},{"id":174,"subNodes":[175,176],"text":"sink(this, r)"},{"id":175,"text":"this"},{"id":176,"text":"r"},{"id":177,"subNodes":[178,179],"text":"r = replace(v, v, k)"},{"id":178,"text":"r"},{"id":179,"subNodes":[180,181,182],"text":"replace(v, v, k)"},{"id":180,"text":"v"},{"id":181,"text":"v"},{"id":182,"text":"k"},{"id":183,"subNodes":[184,185],"text":"sink(this, r)"},{"id":184,"text":"this"},{"id":185,"text":"r"},{"id":186,"subNodes":[187,188],"text":"r = replace(v, v, v)"},{"id":187,"text":"r"},{"id":188,"subNodes":[189,190,191],"text":"replace(v, v, v)"},{"id":189,"text":"v"},{"id":190,"text":"v"},{"id":191,"text":"v"},{"id":192,"subNodes":[193,194],"text":"sink(this, r)"},{"id":193,"text":"this"},{"id":194,"text":"r"},{"id":195,"subNodes":[196,197],"text":"r = replace(k, k, j)"},{"id":196,"text":"r"},{"id":197,"subNodes":[198,199,200],"text":"replace(k, k, j)"},{"id":198,"text":"k"},{"id":199,"text":"k"},{"id":200,"text":"j"},{"id":201,"subNodes":[202,203],"text":"sink(this, r)"},{"id":202,"text":"this"},{"id":203,"text":"r"},{"id":204,"subNodes":[205,206],"text":"r = replace(k, j, k)"},{"id":205,"text":"r"},{"id":206,"subNodes":[207,208,209],"text":"replace(k, j, k)"},{"id":207,"text":"k"},{"id":208,"text":"j"},{"id":209,"text":"k"},{"id":210,"subNodes":[211,212],"text":"sink(this, r)"},{"id":211,"text":"this"},{"id":212,"text":"r"},{"id":213,"subNodes":[214,215],"text":"r = replace(k, j, j)"},{"id":214,"text":"r"},{"id":215,"subNodes":[216,217,218],"text":"replace(k, j, j)"},{"id":216,"text":"k"},{"id":217,"text":"j"},{"id":218,"text":"j"},{"id":219,"subNodes":[220,221],"text":"sink(this, r)"},{"id":220,"text":"this"},{"id":221,"text":"r"},{"id":222,"subNodes":[223,224],"text":"r = replace(j, k, k)"},{"id":223,"text":"r"},{"id":224,"subNodes":[225,226,227],"text":"replace(j, k, k)"},{"id":225,"text":"j"},{"id":226,"text":"k"},{"id":227,"text":"k"},{"id":228,"subNodes":[229,230],"text":"sink(this, r)"},{"id":229,"text":"this"},{"id":230,"text":"r"},{"id":231,"subNodes":[232,233],"text":"r = replace(j, k, j)"},{"id":232,"text":"r"},{"id":233,"subNodes":[234,235,236],"text":"replace(j, k, j)"},{"id":234,"text":"j"},{"id":235,"text":"k"},{"id":236,"text":"j"},{"id":237,"subNodes":[238,239],"text":"sink(this, r)"},{"id":238,"text":"this"},{"id":239,"text":"r"},{"id":240,"subNodes":[241,242],"text":"r = replace(j, j, k)"},{"id":241,"text":"r"},{"id":242,"subNodes":[243,244,245],"text":"replace(j, j, k)"},{"id":243,"text":"j"},{"id":244,"text":"j"},{"id":245,"text":"k"},{"id":246,"subNodes":[247,248],"text":"sink(this, r)"},{"id":247,"text":"this"},{"id":248,"text":"r"},{"id":249,"subNodes":[250,251],"text":"r = replace(j, j, j)"},{"id":250,"text":"r"},{"id":251,"subNodes":[252,253,254],"text":"replace(j, j, j)"},{"id":252,"text":"j"},{"id":253,"text":"j"},{"id":254,"text":"j"},{"id":255,"subNodes":[256,257],"text":"sink(this, r)"},{"id":256,"text":"this"},{"id":257,"text":"r"},{"id":258,"subNodes":[259,260],"text":"r = replace(v, v, j)"},{"id":259,"text":"r"},{"id":260,"subNodes":[261,262,263],"text":"replace(v, v, j)"},{"id":261,"text":"v"},{"id":262,"text":"v"},{"id":263,"text":"j"},{"id":264,"subNodes":[265,266],"text":"sink(this, r)"},{"id":265,"text":"this"},{"id":266,"text":"r"},{"id":267,"subNodes":[268,269],"text":"r = replace(v, j, v)"},{"id":268,"text":"r"},{"id":269,"subNodes":[270,271,272],"text":"replace(v, j, v)"},{"id":270,"text":"v"},{"id":271,"text":"j"},{"id":272,"text":"v"},{"id":273,"subNodes":[274,275],"text":"sink(this, r)"},{"id":274,"text":"this"},{"id":275,"text":"r"},{"id":276,"subNodes":[277,278],"text":"r = replace(v, j, j)"},{"id":277,"text":"r"},{"id":278,"subNodes":[279,280,281],"text":"replace(v, j, j)"},{"id":279,"text":"v"},{"id":280,"text":"j"},{"id":281,"text":"j"},{"id":282,"subNodes":[283,284],"text":"sink(this, r)"},{"id":283,"text":"this"},{"id":284,"text":"r"},{"id":285,"subNodes":[286,287],"text":"r = replace(j, v, v)"},{"id":286,"text":"r"},{"id":287,"subNodes":[288,289,290],"text":"replace(j, v, v)"},{"id":288,"text":"j"},{"id":289,"text":"v"},{"id":290,"text":"v"},{"id":291,"subNodes":[292,293],"text":"sink(this, r)"},{"id":292,"text":"this"},{"id":293,"text":"r"},{"id":294,"subNodes":[295,296],"text":"r = replace(j, v, j)"},{"id":295,"text":"r"},{"id":296,"subNodes":[297,298,299],"text":"replace(j, v, j)"},{"id":297,"text":"j"},{"id":298,"text":"v"},{"id":299,"text":"j"},{"id":300,"subNodes":[301,302],"text":"sink(this, r)"},{"id":301,"text":"this"},{"id":302,"text":"r"},{"id":303,"subNodes":[304,305],"text":"r = replace(j, j, v)"},{"id":304,"text":"r"},{"id":305,"subNodes":[306,307,308],"text":"replace(j, j, v)"},{"id":306,"text":"j"},{"id":307,"text":"j"},{"id":308,"text":"v"},{"id":309,"subNodes":[310,311],"text":"sink(this, r)"},{"id":310,"text":"this"},{"id":311,"text":"r"},{"id":312,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"},{"sourceId":13,"destId":16,"kind":"SequentialEdge"},{"sourceId":16,"destId":19,"kind":"SequentialEdge"},{"sourceId":19,"destId":20,"kind":"TrueEdge"},{"sourceId":19,"destId":24,"kind":"FalseEdge"},{"sourceId":20,"destId":24,"kind":"SequentialEdge"},{"sourceId":24,"destId":27,"kind":"SequentialEdge"},{"sourceId":27,"destId":30,"kind":"SequentialEdge"},{"sourceId":30,"destId":34,"kind":"SequentialEdge"},{"sourceId":34,"destId":37,"kind":"SequentialEdge"},{"sourceId":37,"destId":41,"kind":"SequentialEdge"},{"sourceId":41,"destId":44,"kind":"SequentialEdge"},{"sourceId":44,"destId":48,"kind":"SequentialEdge"},{"sourceId":48,"destId":51,"kind":"SequentialEdge"},{"sourceId":51,"destId":56,"kind":"SequentialEdge"},{"sourceId":56,"destId":59,"kind":"SequentialEdge"},{"sourceId":59,"destId":64,"kind":"SequentialEdge"},{"sourceId":64,"destId":67,"kind":"SequentialEdge"},{"sourceId":67,"destId":72,"kind":"SequentialEdge"},{"sourceId":72,"destId":75,"kind":"SequentialEdge"},{"sourceId":75,"destId":80,"kind":"SequentialEdge"},{"sourceId":80,"destId":83,"kind":"SequentialEdge"},{"sourceId":83,"destId":88,"kind":"SequentialEdge"},{"sourceId":88,"destId":91,"kind":"SequentialEdge"},{"sourceId":91,"destId":96,"kind":"SequentialEdge"},{"sourceId":96,"destId":99,"kind":"SequentialEdge"},{"sourceId":99,"destId":104,"kind":"SequentialEdge"},{"sourceId":104,"destId":107,"kind":"SequentialEdge"},{"sourceId":107,"destId":112,"kind":"SequentialEdge"},{"sourceId":112,"destId":115,"kind":"SequentialEdge"},{"sourceId":115,"destId":120,"kind":"SequentialEdge"},{"sourceId":120,"destId":123,"kind":"SequentialEdge"},{"sourceId":123,"destId":129,"kind":"SequentialEdge"},{"sourceId":129,"destId":132,"kind":"SequentialEdge"},{"sourceId":132,"destId":138,"kind":"SequentialEdge"},{"sourceId":138,"destId":141,"kind":"SequentialEdge"},{"sourceId":141,"destId":147,"kind":"SequentialEdge"},{"sourceId":147,"destId":150,"kind":"SequentialEdge"},{"sourceId":150,"destId":156,"kind":"SequentialEdge"},{"sourceId":156,"destId":159,"kind":"SequentialEdge"},{"sourceId":159,"destId":165,"kind":"SequentialEdge"},{"sourceId":165,"destId":168,"kind":"SequentialEdge"},{"sourceId":168,"destId":174,"kind":"SequentialEdge"},{"sourceId":174,"destId":177,"kind":"SequentialEdge"},{"sourceId":177,"destId":183,"kind":"SequentialEdge"},{"sourceId":183,"destId":186,"kind":"SequentialEdge"},{"sourceId":186,"destId":192,"kind":"SequentialEdge"},{"sourceId":192,"destId":195,"kind":"SequentialEdge"},{"sourceId":195,"destId":201,"kind":"SequentialEdge"},{"sourceId":201,"destId":204,"kind":"SequentialEdge"},{"sourceId":204,"destId":210,"kind":"SequentialEdge"},{"sourceId":210,"destId":213,"kind":"SequentialEdge"},{"sourceId":213,"destId":219,"kind":"SequentialEdge"},{"sourceId":219,"destId":222,"kind":"SequentialEdge"},{"sourceId":222,"destId":228,"kind":"SequentialEdge"},{"sourceId":228,"destId":231,"kind":"SequentialEdge"},{"sourceId":231,"destId":237,"kind":"SequentialEdge"},{"sourceId":237,"destId":240,"kind":"SequentialEdge"},{"sourceId":240,"destId":246,"kind":"SequentialEdge"},{"sourceId":246,"destId":249,"kind":"SequentialEdge"},{"sourceId":249,"destId":255,"kind":"SequentialEdge"},{"sourceId":255,"destId":258,"kind":"SequentialEdge"},{"sourceId":258,"destId":264,"kind":"SequentialEdge"},{"sourceId":264,"destId":267,"kind":"SequentialEdge"},{"sourceId":267,"destId":273,"kind":"SequentialEdge"},{"sourceId":273,"destId":276,"kind":"SequentialEdge"},{"sourceId":276,"destId":282,"kind":"SequentialEdge"},{"sourceId":282,"destId":285,"kind":"SequentialEdge"},{"sourceId":285,"destId":291,"kind":"SequentialEdge"},{"sourceId":291,"destId":294,"kind":"SequentialEdge"},{"sourceId":294,"destId":300,"kind":"SequentialEdge"},{"sourceId":300,"destId":303,"kind":"SequentialEdge"},{"sourceId":303,"destId":309,"kind":"SequentialEdge"},{"sourceId":309,"destId":312,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":2,"description":{"expressions":["\"a\""],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":3,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":4,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":5,"description":{"expressions":["\"b\""],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":6,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":7,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':14:22"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":10,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':15:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":12,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":13,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':16:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":14,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":15,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':17:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":17,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":18,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":19,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":20,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":21,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':20:19"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":24,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':22:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":25,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":26,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":27,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':23:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":28,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":29,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":30,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":31,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":32,"description":{"expressions":["strlen v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":33,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":34,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':27:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":35,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":36,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":37,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":38,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":39,"description":{"expressions":["strlen k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":40,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":41,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':29:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":42,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":43,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":44,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":45,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":46,"description":{"expressions":["strlen j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":47,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":48,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':31:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":49,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":50,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":51,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":52,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":53,"description":{"expressions":["k strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":54,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":55,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":56,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':35:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":57,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":58,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":59,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":60,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":61,"description":{"expressions":["k strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":62,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":63,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":64,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':37:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":65,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":66,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":67,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":68,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":69,"description":{"expressions":["k strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":70,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":71,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":72,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':39:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":73,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":74,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":75,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":76,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":77,"description":{"expressions":["v strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":78,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":79,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":80,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':41:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":81,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":82,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":83,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":84,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":85,"description":{"expressions":["v strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":86,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":87,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":88,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':43:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":89,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":90,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":91,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":92,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":93,"description":{"expressions":["j strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":94,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":95,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":96,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':45:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":97,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":98,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":99,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":100,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":101,"description":{"expressions":["v strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":102,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":103,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":104,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':47:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":105,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":106,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":107,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":108,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":109,"description":{"expressions":["j strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":110,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":111,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":112,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':49:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":113,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":114,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":115,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":116,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":117,"description":{"expressions":["j strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":118,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":119,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":120,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':51:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":121,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":122,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":123,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":124,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":125,"description":{"expressions":["k strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":126,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":127,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":128,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":129,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':55:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":130,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":131,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":132,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":133,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":134,"description":{"expressions":["k strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":135,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":136,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":137,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":138,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':57:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":139,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":140,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":141,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":142,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":143,"description":{"expressions":["k strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":144,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":145,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":146,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":147,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':59:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":148,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":149,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":150,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":151,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":152,"description":{"expressions":["k strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":153,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":154,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":155,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":156,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':61:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":157,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":158,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":159,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":160,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":161,"description":{"expressions":["v strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":162,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":163,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":164,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":165,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':63:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":166,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":167,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":168,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":169,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":170,"description":{"expressions":["v strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":171,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":172,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":173,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":174,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':65:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":175,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":176,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":177,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":178,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":179,"description":{"expressions":["v strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":180,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":181,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":182,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":183,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':67:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":184,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":185,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":186,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":187,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":188,"description":{"expressions":["v strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":189,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":190,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":191,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":192,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':69:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":193,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":194,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":195,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":196,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":197,"description":{"expressions":["k strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":198,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":199,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":200,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":201,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':71:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":202,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":203,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":204,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":205,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":206,"description":{"expressions":["k strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":207,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":208,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":209,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":210,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':73:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":211,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":212,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":213,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":214,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":215,"description":{"expressions":["k strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":216,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":217,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":218,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":219,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':75:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":220,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":221,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":222,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":223,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":224,"description":{"expressions":["j strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":225,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":226,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":227,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":228,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':77:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":229,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":230,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":231,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":232,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":233,"description":{"expressions":["j strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":234,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":235,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":236,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":237,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':79:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":238,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":239,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":240,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":241,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":242,"description":{"expressions":["j strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":243,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":244,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":245,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":246,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':81:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":247,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":248,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":249,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":250,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":251,"description":{"expressions":["j strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":252,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":253,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":254,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":255,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':83:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":256,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":257,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":258,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":259,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":260,"description":{"expressions":["v strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":261,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":262,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":263,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":264,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':85:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":265,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":266,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":267,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":268,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":269,"description":{"expressions":["v strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":270,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":271,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":272,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":273,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':87:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":274,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":275,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":276,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":277,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":278,"description":{"expressions":["v strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":279,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":280,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":281,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":282,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':89:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":283,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":284,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":285,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":286,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":287,"description":{"expressions":["j strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":288,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":289,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":290,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":291,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':91:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":292,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":293,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":294,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":295,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":296,"description":{"expressions":["j strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":297,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":298,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":299,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":300,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':93:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":301,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":302,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":303,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":304,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":305,"description":{"expressions":["j strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":306,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":307,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":308,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":309,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':95:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":310,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":311,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":312,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}}]} \ No newline at end of file +{"name":"untyped main::main(main* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = \"a\""},{"id":1,"text":"k"},{"id":2,"text":"\"a\""},{"id":3,"subNodes":[4,5],"text":"j = \"b\""},{"id":4,"text":"j"},{"id":5,"text":"\"b\""},{"id":6,"subNodes":[7,8],"text":"v = source(this)"},{"id":7,"text":"v"},{"id":8,"subNodes":[9],"text":"source(this)"},{"id":9,"text":"this"},{"id":10,"subNodes":[11,12],"text":"sink(this, v)"},{"id":11,"text":"this"},{"id":12,"text":"v"},{"id":13,"subNodes":[14,15],"text":"sink(this, k)"},{"id":14,"text":"this"},{"id":15,"text":"k"},{"id":16,"subNodes":[17,18],"text":"sink(this, j)"},{"id":17,"text":"this"},{"id":18,"text":"j"},{"id":19,"text":"v"},{"id":20,"subNodes":[21,22],"text":"k = source(this)"},{"id":21,"text":"k"},{"id":22,"subNodes":[23],"text":"source(this)"},{"id":23,"text":"this"},{"id":24,"subNodes":[25,26],"text":"sink(this, k)"},{"id":25,"text":"this"},{"id":26,"text":"k"},{"id":27,"subNodes":[28,29],"text":"sink(this, j)"},{"id":28,"text":"this"},{"id":29,"text":"j"},{"id":30,"subNodes":[31,32],"text":"r = len(v)"},{"id":31,"text":"r"},{"id":32,"subNodes":[33],"text":"len(v)"},{"id":33,"text":"v"},{"id":34,"subNodes":[35,36],"text":"sink(this, r)"},{"id":35,"text":"this"},{"id":36,"text":"r"},{"id":37,"subNodes":[38,39],"text":"r = len(k)"},{"id":38,"text":"r"},{"id":39,"subNodes":[40],"text":"len(k)"},{"id":40,"text":"k"},{"id":41,"subNodes":[42,43],"text":"sink(this, r)"},{"id":42,"text":"this"},{"id":43,"text":"r"},{"id":44,"subNodes":[45,46],"text":"r = len(j)"},{"id":45,"text":"r"},{"id":46,"subNodes":[47],"text":"len(j)"},{"id":47,"text":"j"},{"id":48,"subNodes":[49,50],"text":"sink(this, r)"},{"id":49,"text":"this"},{"id":50,"text":"r"},{"id":51,"subNodes":[52,53],"text":"r = concat(k, k)"},{"id":52,"text":"r"},{"id":53,"subNodes":[54,55],"text":"concat(k, k)"},{"id":54,"text":"k"},{"id":55,"text":"k"},{"id":56,"subNodes":[57,58],"text":"sink(this, r)"},{"id":57,"text":"this"},{"id":58,"text":"r"},{"id":59,"subNodes":[60,61],"text":"r = concat(k, v)"},{"id":60,"text":"r"},{"id":61,"subNodes":[62,63],"text":"concat(k, v)"},{"id":62,"text":"k"},{"id":63,"text":"v"},{"id":64,"subNodes":[65,66],"text":"sink(this, r)"},{"id":65,"text":"this"},{"id":66,"text":"r"},{"id":67,"subNodes":[68,69],"text":"r = concat(k, j)"},{"id":68,"text":"r"},{"id":69,"subNodes":[70,71],"text":"concat(k, j)"},{"id":70,"text":"k"},{"id":71,"text":"j"},{"id":72,"subNodes":[73,74],"text":"sink(this, r)"},{"id":73,"text":"this"},{"id":74,"text":"r"},{"id":75,"subNodes":[76,77],"text":"r = concat(v, v)"},{"id":76,"text":"r"},{"id":77,"subNodes":[78,79],"text":"concat(v, v)"},{"id":78,"text":"v"},{"id":79,"text":"v"},{"id":80,"subNodes":[81,82],"text":"sink(this, r)"},{"id":81,"text":"this"},{"id":82,"text":"r"},{"id":83,"subNodes":[84,85],"text":"r = concat(v, j)"},{"id":84,"text":"r"},{"id":85,"subNodes":[86,87],"text":"concat(v, j)"},{"id":86,"text":"v"},{"id":87,"text":"j"},{"id":88,"subNodes":[89,90],"text":"sink(this, r)"},{"id":89,"text":"this"},{"id":90,"text":"r"},{"id":91,"subNodes":[92,93],"text":"r = concat(j, j)"},{"id":92,"text":"r"},{"id":93,"subNodes":[94,95],"text":"concat(j, j)"},{"id":94,"text":"j"},{"id":95,"text":"j"},{"id":96,"subNodes":[97,98],"text":"sink(this, r)"},{"id":97,"text":"this"},{"id":98,"text":"r"},{"id":99,"subNodes":[100,101],"text":"r = concat(v, k)"},{"id":100,"text":"r"},{"id":101,"subNodes":[102,103],"text":"concat(v, k)"},{"id":102,"text":"v"},{"id":103,"text":"k"},{"id":104,"subNodes":[105,106],"text":"sink(this, r)"},{"id":105,"text":"this"},{"id":106,"text":"r"},{"id":107,"subNodes":[108,109],"text":"r = concat(j, k)"},{"id":108,"text":"r"},{"id":109,"subNodes":[110,111],"text":"concat(j, k)"},{"id":110,"text":"j"},{"id":111,"text":"k"},{"id":112,"subNodes":[113,114],"text":"sink(this, r)"},{"id":113,"text":"this"},{"id":114,"text":"r"},{"id":115,"subNodes":[116,117],"text":"r = concat(j, v)"},{"id":116,"text":"r"},{"id":117,"subNodes":[118,119],"text":"concat(j, v)"},{"id":118,"text":"j"},{"id":119,"text":"v"},{"id":120,"subNodes":[121,122],"text":"sink(this, r)"},{"id":121,"text":"this"},{"id":122,"text":"r"},{"id":123,"subNodes":[124,125],"text":"r = replace(k, k, k)"},{"id":124,"text":"r"},{"id":125,"subNodes":[126,127,128],"text":"replace(k, k, k)"},{"id":126,"text":"k"},{"id":127,"text":"k"},{"id":128,"text":"k"},{"id":129,"subNodes":[130,131],"text":"sink(this, r)"},{"id":130,"text":"this"},{"id":131,"text":"r"},{"id":132,"subNodes":[133,134],"text":"r = replace(k, k, v)"},{"id":133,"text":"r"},{"id":134,"subNodes":[135,136,137],"text":"replace(k, k, v)"},{"id":135,"text":"k"},{"id":136,"text":"k"},{"id":137,"text":"v"},{"id":138,"subNodes":[139,140],"text":"sink(this, r)"},{"id":139,"text":"this"},{"id":140,"text":"r"},{"id":141,"subNodes":[142,143],"text":"r = replace(k, v, k)"},{"id":142,"text":"r"},{"id":143,"subNodes":[144,145,146],"text":"replace(k, v, k)"},{"id":144,"text":"k"},{"id":145,"text":"v"},{"id":146,"text":"k"},{"id":147,"subNodes":[148,149],"text":"sink(this, r)"},{"id":148,"text":"this"},{"id":149,"text":"r"},{"id":150,"subNodes":[151,152],"text":"r = replace(k, v, v)"},{"id":151,"text":"r"},{"id":152,"subNodes":[153,154,155],"text":"replace(k, v, v)"},{"id":153,"text":"k"},{"id":154,"text":"v"},{"id":155,"text":"v"},{"id":156,"subNodes":[157,158],"text":"sink(this, r)"},{"id":157,"text":"this"},{"id":158,"text":"r"},{"id":159,"subNodes":[160,161],"text":"r = replace(v, k, k)"},{"id":160,"text":"r"},{"id":161,"subNodes":[162,163,164],"text":"replace(v, k, k)"},{"id":162,"text":"v"},{"id":163,"text":"k"},{"id":164,"text":"k"},{"id":165,"subNodes":[166,167],"text":"sink(this, r)"},{"id":166,"text":"this"},{"id":167,"text":"r"},{"id":168,"subNodes":[169,170],"text":"r = replace(v, k, v)"},{"id":169,"text":"r"},{"id":170,"subNodes":[171,172,173],"text":"replace(v, k, v)"},{"id":171,"text":"v"},{"id":172,"text":"k"},{"id":173,"text":"v"},{"id":174,"subNodes":[175,176],"text":"sink(this, r)"},{"id":175,"text":"this"},{"id":176,"text":"r"},{"id":177,"subNodes":[178,179],"text":"r = replace(v, v, k)"},{"id":178,"text":"r"},{"id":179,"subNodes":[180,181,182],"text":"replace(v, v, k)"},{"id":180,"text":"v"},{"id":181,"text":"v"},{"id":182,"text":"k"},{"id":183,"subNodes":[184,185],"text":"sink(this, r)"},{"id":184,"text":"this"},{"id":185,"text":"r"},{"id":186,"subNodes":[187,188],"text":"r = replace(v, v, v)"},{"id":187,"text":"r"},{"id":188,"subNodes":[189,190,191],"text":"replace(v, v, v)"},{"id":189,"text":"v"},{"id":190,"text":"v"},{"id":191,"text":"v"},{"id":192,"subNodes":[193,194],"text":"sink(this, r)"},{"id":193,"text":"this"},{"id":194,"text":"r"},{"id":195,"subNodes":[196,197],"text":"r = replace(k, k, j)"},{"id":196,"text":"r"},{"id":197,"subNodes":[198,199,200],"text":"replace(k, k, j)"},{"id":198,"text":"k"},{"id":199,"text":"k"},{"id":200,"text":"j"},{"id":201,"subNodes":[202,203],"text":"sink(this, r)"},{"id":202,"text":"this"},{"id":203,"text":"r"},{"id":204,"subNodes":[205,206],"text":"r = replace(k, j, k)"},{"id":205,"text":"r"},{"id":206,"subNodes":[207,208,209],"text":"replace(k, j, k)"},{"id":207,"text":"k"},{"id":208,"text":"j"},{"id":209,"text":"k"},{"id":210,"subNodes":[211,212],"text":"sink(this, r)"},{"id":211,"text":"this"},{"id":212,"text":"r"},{"id":213,"subNodes":[214,215],"text":"r = replace(k, j, j)"},{"id":214,"text":"r"},{"id":215,"subNodes":[216,217,218],"text":"replace(k, j, j)"},{"id":216,"text":"k"},{"id":217,"text":"j"},{"id":218,"text":"j"},{"id":219,"subNodes":[220,221],"text":"sink(this, r)"},{"id":220,"text":"this"},{"id":221,"text":"r"},{"id":222,"subNodes":[223,224],"text":"r = replace(j, k, k)"},{"id":223,"text":"r"},{"id":224,"subNodes":[225,226,227],"text":"replace(j, k, k)"},{"id":225,"text":"j"},{"id":226,"text":"k"},{"id":227,"text":"k"},{"id":228,"subNodes":[229,230],"text":"sink(this, r)"},{"id":229,"text":"this"},{"id":230,"text":"r"},{"id":231,"subNodes":[232,233],"text":"r = replace(j, k, j)"},{"id":232,"text":"r"},{"id":233,"subNodes":[234,235,236],"text":"replace(j, k, j)"},{"id":234,"text":"j"},{"id":235,"text":"k"},{"id":236,"text":"j"},{"id":237,"subNodes":[238,239],"text":"sink(this, r)"},{"id":238,"text":"this"},{"id":239,"text":"r"},{"id":240,"subNodes":[241,242],"text":"r = replace(j, j, k)"},{"id":241,"text":"r"},{"id":242,"subNodes":[243,244,245],"text":"replace(j, j, k)"},{"id":243,"text":"j"},{"id":244,"text":"j"},{"id":245,"text":"k"},{"id":246,"subNodes":[247,248],"text":"sink(this, r)"},{"id":247,"text":"this"},{"id":248,"text":"r"},{"id":249,"subNodes":[250,251],"text":"r = replace(j, j, j)"},{"id":250,"text":"r"},{"id":251,"subNodes":[252,253,254],"text":"replace(j, j, j)"},{"id":252,"text":"j"},{"id":253,"text":"j"},{"id":254,"text":"j"},{"id":255,"subNodes":[256,257],"text":"sink(this, r)"},{"id":256,"text":"this"},{"id":257,"text":"r"},{"id":258,"subNodes":[259,260],"text":"r = replace(v, v, j)"},{"id":259,"text":"r"},{"id":260,"subNodes":[261,262,263],"text":"replace(v, v, j)"},{"id":261,"text":"v"},{"id":262,"text":"v"},{"id":263,"text":"j"},{"id":264,"subNodes":[265,266],"text":"sink(this, r)"},{"id":265,"text":"this"},{"id":266,"text":"r"},{"id":267,"subNodes":[268,269],"text":"r = replace(v, j, v)"},{"id":268,"text":"r"},{"id":269,"subNodes":[270,271,272],"text":"replace(v, j, v)"},{"id":270,"text":"v"},{"id":271,"text":"j"},{"id":272,"text":"v"},{"id":273,"subNodes":[274,275],"text":"sink(this, r)"},{"id":274,"text":"this"},{"id":275,"text":"r"},{"id":276,"subNodes":[277,278],"text":"r = replace(v, j, j)"},{"id":277,"text":"r"},{"id":278,"subNodes":[279,280,281],"text":"replace(v, j, j)"},{"id":279,"text":"v"},{"id":280,"text":"j"},{"id":281,"text":"j"},{"id":282,"subNodes":[283,284],"text":"sink(this, r)"},{"id":283,"text":"this"},{"id":284,"text":"r"},{"id":285,"subNodes":[286,287],"text":"r = replace(j, v, v)"},{"id":286,"text":"r"},{"id":287,"subNodes":[288,289,290],"text":"replace(j, v, v)"},{"id":288,"text":"j"},{"id":289,"text":"v"},{"id":290,"text":"v"},{"id":291,"subNodes":[292,293],"text":"sink(this, r)"},{"id":292,"text":"this"},{"id":293,"text":"r"},{"id":294,"subNodes":[295,296],"text":"r = replace(j, v, j)"},{"id":295,"text":"r"},{"id":296,"subNodes":[297,298,299],"text":"replace(j, v, j)"},{"id":297,"text":"j"},{"id":298,"text":"v"},{"id":299,"text":"j"},{"id":300,"subNodes":[301,302],"text":"sink(this, r)"},{"id":301,"text":"this"},{"id":302,"text":"r"},{"id":303,"subNodes":[304,305],"text":"r = replace(j, j, v)"},{"id":304,"text":"r"},{"id":305,"subNodes":[306,307,308],"text":"replace(j, j, v)"},{"id":306,"text":"j"},{"id":307,"text":"j"},{"id":308,"text":"v"},{"id":309,"subNodes":[310,311],"text":"sink(this, r)"},{"id":310,"text":"this"},{"id":311,"text":"r"},{"id":312,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"},{"sourceId":13,"destId":16,"kind":"SequentialEdge"},{"sourceId":16,"destId":19,"kind":"SequentialEdge"},{"sourceId":19,"destId":20,"kind":"TrueEdge"},{"sourceId":19,"destId":24,"kind":"FalseEdge"},{"sourceId":20,"destId":24,"kind":"SequentialEdge"},{"sourceId":24,"destId":27,"kind":"SequentialEdge"},{"sourceId":27,"destId":30,"kind":"SequentialEdge"},{"sourceId":30,"destId":34,"kind":"SequentialEdge"},{"sourceId":34,"destId":37,"kind":"SequentialEdge"},{"sourceId":37,"destId":41,"kind":"SequentialEdge"},{"sourceId":41,"destId":44,"kind":"SequentialEdge"},{"sourceId":44,"destId":48,"kind":"SequentialEdge"},{"sourceId":48,"destId":51,"kind":"SequentialEdge"},{"sourceId":51,"destId":56,"kind":"SequentialEdge"},{"sourceId":56,"destId":59,"kind":"SequentialEdge"},{"sourceId":59,"destId":64,"kind":"SequentialEdge"},{"sourceId":64,"destId":67,"kind":"SequentialEdge"},{"sourceId":67,"destId":72,"kind":"SequentialEdge"},{"sourceId":72,"destId":75,"kind":"SequentialEdge"},{"sourceId":75,"destId":80,"kind":"SequentialEdge"},{"sourceId":80,"destId":83,"kind":"SequentialEdge"},{"sourceId":83,"destId":88,"kind":"SequentialEdge"},{"sourceId":88,"destId":91,"kind":"SequentialEdge"},{"sourceId":91,"destId":96,"kind":"SequentialEdge"},{"sourceId":96,"destId":99,"kind":"SequentialEdge"},{"sourceId":99,"destId":104,"kind":"SequentialEdge"},{"sourceId":104,"destId":107,"kind":"SequentialEdge"},{"sourceId":107,"destId":112,"kind":"SequentialEdge"},{"sourceId":112,"destId":115,"kind":"SequentialEdge"},{"sourceId":115,"destId":120,"kind":"SequentialEdge"},{"sourceId":120,"destId":123,"kind":"SequentialEdge"},{"sourceId":123,"destId":129,"kind":"SequentialEdge"},{"sourceId":129,"destId":132,"kind":"SequentialEdge"},{"sourceId":132,"destId":138,"kind":"SequentialEdge"},{"sourceId":138,"destId":141,"kind":"SequentialEdge"},{"sourceId":141,"destId":147,"kind":"SequentialEdge"},{"sourceId":147,"destId":150,"kind":"SequentialEdge"},{"sourceId":150,"destId":156,"kind":"SequentialEdge"},{"sourceId":156,"destId":159,"kind":"SequentialEdge"},{"sourceId":159,"destId":165,"kind":"SequentialEdge"},{"sourceId":165,"destId":168,"kind":"SequentialEdge"},{"sourceId":168,"destId":174,"kind":"SequentialEdge"},{"sourceId":174,"destId":177,"kind":"SequentialEdge"},{"sourceId":177,"destId":183,"kind":"SequentialEdge"},{"sourceId":183,"destId":186,"kind":"SequentialEdge"},{"sourceId":186,"destId":192,"kind":"SequentialEdge"},{"sourceId":192,"destId":195,"kind":"SequentialEdge"},{"sourceId":195,"destId":201,"kind":"SequentialEdge"},{"sourceId":201,"destId":204,"kind":"SequentialEdge"},{"sourceId":204,"destId":210,"kind":"SequentialEdge"},{"sourceId":210,"destId":213,"kind":"SequentialEdge"},{"sourceId":213,"destId":219,"kind":"SequentialEdge"},{"sourceId":219,"destId":222,"kind":"SequentialEdge"},{"sourceId":222,"destId":228,"kind":"SequentialEdge"},{"sourceId":228,"destId":231,"kind":"SequentialEdge"},{"sourceId":231,"destId":237,"kind":"SequentialEdge"},{"sourceId":237,"destId":240,"kind":"SequentialEdge"},{"sourceId":240,"destId":246,"kind":"SequentialEdge"},{"sourceId":246,"destId":249,"kind":"SequentialEdge"},{"sourceId":249,"destId":255,"kind":"SequentialEdge"},{"sourceId":255,"destId":258,"kind":"SequentialEdge"},{"sourceId":258,"destId":264,"kind":"SequentialEdge"},{"sourceId":264,"destId":267,"kind":"SequentialEdge"},{"sourceId":267,"destId":273,"kind":"SequentialEdge"},{"sourceId":273,"destId":276,"kind":"SequentialEdge"},{"sourceId":276,"destId":282,"kind":"SequentialEdge"},{"sourceId":282,"destId":285,"kind":"SequentialEdge"},{"sourceId":285,"destId":291,"kind":"SequentialEdge"},{"sourceId":291,"destId":294,"kind":"SequentialEdge"},{"sourceId":294,"destId":300,"kind":"SequentialEdge"},{"sourceId":300,"destId":303,"kind":"SequentialEdge"},{"sourceId":303,"destId":309,"kind":"SequentialEdge"},{"sourceId":309,"destId":312,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":2,"description":{"expressions":["\"a\""],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":3,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":4,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":5,"description":{"expressions":["\"b\""],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":6,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":7,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':14:22"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":10,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":12,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":13,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":14,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":15,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":16,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":17,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":18,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":19,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":20,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":21,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':20:19"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":24,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":25,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":26,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":27,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":28,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":29,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":30,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":31,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":32,"description":{"expressions":["strlen v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":33,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":34,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":35,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":36,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":37,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":38,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":39,"description":{"expressions":["strlen k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":40,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":41,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":42,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":43,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":44,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":45,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":46,"description":{"expressions":["strlen j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":47,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":48,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":49,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":50,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":51,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":52,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":53,"description":{"expressions":["k strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":54,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":55,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":56,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":57,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":58,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":59,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":60,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":61,"description":{"expressions":["k strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":62,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":63,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":64,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":65,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":66,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":67,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":68,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":69,"description":{"expressions":["k strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":70,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":71,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":72,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":73,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":74,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":75,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":76,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":77,"description":{"expressions":["v strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":78,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":79,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":80,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":81,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":82,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":83,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":84,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":85,"description":{"expressions":["v strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":86,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":87,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":88,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":89,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":90,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":91,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":92,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":93,"description":{"expressions":["j strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":94,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":95,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":96,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":97,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":98,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":99,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":100,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":101,"description":{"expressions":["v strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":102,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":103,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":104,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":105,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":106,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":107,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":108,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":109,"description":{"expressions":["j strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":110,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":111,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":112,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":113,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":114,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":115,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":116,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":117,"description":{"expressions":["j strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":118,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":119,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":120,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":121,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":122,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":123,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":124,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":125,"description":{"expressions":["k strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":126,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":127,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":128,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":129,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":130,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":131,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":132,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":133,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":134,"description":{"expressions":["k strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":135,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":136,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":137,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":138,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":139,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":140,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":141,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":142,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":143,"description":{"expressions":["k strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":144,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":145,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":146,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":147,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":148,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":149,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":150,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":151,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":152,"description":{"expressions":["k strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":153,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":154,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":155,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":156,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":157,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":158,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":159,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":160,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":161,"description":{"expressions":["v strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":162,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":163,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":164,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":165,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":166,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":167,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":168,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":169,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":170,"description":{"expressions":["v strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":171,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":172,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":173,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":174,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":175,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":176,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":177,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":178,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":179,"description":{"expressions":["v strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":180,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":181,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":182,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":183,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":184,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":185,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":186,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":187,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":188,"description":{"expressions":["v strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":189,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":190,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":191,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":192,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":193,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":194,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":195,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":196,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":197,"description":{"expressions":["k strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":198,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":199,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":200,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":201,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":202,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":203,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":204,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":205,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":206,"description":{"expressions":["k strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":207,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":208,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":209,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":210,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":211,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":212,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":213,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":214,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":215,"description":{"expressions":["k strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":216,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":217,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":218,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":219,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":220,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":221,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":222,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":223,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":224,"description":{"expressions":["j strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":225,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":226,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":227,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":228,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":229,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":230,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":231,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":232,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":233,"description":{"expressions":["j strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":234,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":235,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":236,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":237,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":238,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":239,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":240,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":241,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":242,"description":{"expressions":["j strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":243,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":244,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":245,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":246,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":247,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":248,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":249,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":250,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":251,"description":{"expressions":["j strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":252,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":253,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":254,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":255,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":256,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":257,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":258,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":259,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":260,"description":{"expressions":["v strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":261,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":262,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":263,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"_","v":"#"}}}},{"nodeId":264,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":265,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":266,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":267,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":268,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":269,"description":{"expressions":["v strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":270,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":271,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":272,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":273,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":274,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":275,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":276,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":277,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":278,"description":{"expressions":["v strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":279,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":280,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":281,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":282,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":283,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":284,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":285,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":286,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":287,"description":{"expressions":["j strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":288,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":289,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":290,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":291,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":292,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":293,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":294,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":295,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":296,"description":{"expressions":["j strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":297,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":298,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":299,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":300,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":301,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":302,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":303,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":304,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":305,"description":{"expressions":["j strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":306,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":307,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":308,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":309,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":310,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":311,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}},{"nodeId":312,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","r":"#","v":"#"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1833522976.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455120.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1833522976.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455120.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1834446497.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455151.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1834446497.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455151.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1835370018.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455182.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1835370018.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455182.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1859381564.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455337.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1859381564.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455337.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1860305085.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455368.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1860305085.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455368.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1863999169.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455492.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1863999169.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455492.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1865846211.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455554.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1865846211.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455554.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1887087194.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455616.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1887087194.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455616.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1890781278.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455740.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1890781278.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455740.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1892628320.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455802.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1892628320.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455802.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1894475362.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455864.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1894475362.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455864.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1915716345.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455926.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1915716345.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455926.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1917563387.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455988.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1917563387.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997455988.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1919410429.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456050.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1919410429.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456050.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1921257471.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456112.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1921257471.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456112.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1923104513.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456174.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1923104513.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456174.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1944345496.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456236.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1944345496.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456236.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1948039580.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456360.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1948039580.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456360.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1949886622.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456422.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1949886622.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456422.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1951733664.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456484.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1951733664.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456484.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1972974647.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456546.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1972974647.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456546.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1974821689.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456608.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1974821689.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456608.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1976668731.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456670.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1976668731.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456670.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1978515773.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456732.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1978515773.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456732.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1980362815.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456794.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1980362815.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456794.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2001603798.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456856.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2001603798.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456856.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2003450840.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456918.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2003450840.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456918.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2005297882.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456980.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2005297882.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997456980.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2007144924.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457042.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2007144924.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457042.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2008991966.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457104.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2008991966.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457104.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2030232949.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457166.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2030232949.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457166.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2032079991.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457228.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2032079991.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457228.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2033927033.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457290.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2033927033.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457290.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2035774075.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457352.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2035774075.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457352.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2037621117.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457414.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2037621117.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457414.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2058862100.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457476.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2058862100.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457476.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2060709142.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457538.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2060709142.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457538.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2062556184.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457600.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_2062556184.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.sink(main__this,_untyped_v)_1997457600.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1857534708.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1997461041.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1857534708.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1997461041.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1832600385.json b/lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1997463738.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1832600385.json rename to lisa/lisa-analyses/imp-testcases/taint/2val/untyped_main.source(main__this)_1997463738.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/report.json b/lisa/lisa-analyses/imp-testcases/taint/3val/report.json index 776db8f37..917c51bac 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/3val/report.json +++ b/lisa/lisa-analyses/imp-testcases/taint/3val/report.json @@ -64,17 +64,17 @@ }, { "message" : "['imp-testcases/taint/taint.imp':95:13] on 'untyped main::main(main* this)': [EXPRESSION] Parameter 1 is always tainted" } ], - "files" : [ "report.json", "untyped_main.main(main__this).json", "untyped_main.sink(main__this,_untyped_v)_1833522976.json", "untyped_main.sink(main__this,_untyped_v)_1834446497.json", "untyped_main.sink(main__this,_untyped_v)_1835370018.json", "untyped_main.sink(main__this,_untyped_v)_1859381564.json", "untyped_main.sink(main__this,_untyped_v)_1860305085.json", "untyped_main.sink(main__this,_untyped_v)_1863999169.json", "untyped_main.sink(main__this,_untyped_v)_1865846211.json", "untyped_main.sink(main__this,_untyped_v)_1887087194.json", "untyped_main.sink(main__this,_untyped_v)_1890781278.json", "untyped_main.sink(main__this,_untyped_v)_1892628320.json", "untyped_main.sink(main__this,_untyped_v)_1894475362.json", "untyped_main.sink(main__this,_untyped_v)_1915716345.json", "untyped_main.sink(main__this,_untyped_v)_1917563387.json", "untyped_main.sink(main__this,_untyped_v)_1919410429.json", "untyped_main.sink(main__this,_untyped_v)_1921257471.json", "untyped_main.sink(main__this,_untyped_v)_1923104513.json", "untyped_main.sink(main__this,_untyped_v)_1944345496.json", "untyped_main.sink(main__this,_untyped_v)_1948039580.json", "untyped_main.sink(main__this,_untyped_v)_1949886622.json", "untyped_main.sink(main__this,_untyped_v)_1951733664.json", "untyped_main.sink(main__this,_untyped_v)_1972974647.json", "untyped_main.sink(main__this,_untyped_v)_1974821689.json", "untyped_main.sink(main__this,_untyped_v)_1976668731.json", "untyped_main.sink(main__this,_untyped_v)_1978515773.json", "untyped_main.sink(main__this,_untyped_v)_1980362815.json", "untyped_main.sink(main__this,_untyped_v)_2001603798.json", "untyped_main.sink(main__this,_untyped_v)_2003450840.json", "untyped_main.sink(main__this,_untyped_v)_2005297882.json", "untyped_main.sink(main__this,_untyped_v)_2007144924.json", "untyped_main.sink(main__this,_untyped_v)_2008991966.json", "untyped_main.sink(main__this,_untyped_v)_2030232949.json", "untyped_main.sink(main__this,_untyped_v)_2032079991.json", "untyped_main.sink(main__this,_untyped_v)_2033927033.json", "untyped_main.sink(main__this,_untyped_v)_2035774075.json", "untyped_main.sink(main__this,_untyped_v)_2037621117.json", "untyped_main.sink(main__this,_untyped_v)_2058862100.json", "untyped_main.sink(main__this,_untyped_v)_2060709142.json", "untyped_main.sink(main__this,_untyped_v)_2062556184.json", "untyped_main.source(main__this)_1832600385.json", "untyped_main.source(main__this)_1857534708.json" ], + "files" : [ "report.json", "untyped_main.main(main__this).json", "untyped_main.sink(main__this,_untyped_v)_1997455120.json", "untyped_main.sink(main__this,_untyped_v)_1997455151.json", "untyped_main.sink(main__this,_untyped_v)_1997455182.json", "untyped_main.sink(main__this,_untyped_v)_1997455337.json", "untyped_main.sink(main__this,_untyped_v)_1997455368.json", "untyped_main.sink(main__this,_untyped_v)_1997455492.json", "untyped_main.sink(main__this,_untyped_v)_1997455554.json", "untyped_main.sink(main__this,_untyped_v)_1997455616.json", "untyped_main.sink(main__this,_untyped_v)_1997455740.json", "untyped_main.sink(main__this,_untyped_v)_1997455802.json", "untyped_main.sink(main__this,_untyped_v)_1997455864.json", "untyped_main.sink(main__this,_untyped_v)_1997455926.json", "untyped_main.sink(main__this,_untyped_v)_1997455988.json", "untyped_main.sink(main__this,_untyped_v)_1997456050.json", "untyped_main.sink(main__this,_untyped_v)_1997456112.json", "untyped_main.sink(main__this,_untyped_v)_1997456174.json", "untyped_main.sink(main__this,_untyped_v)_1997456236.json", "untyped_main.sink(main__this,_untyped_v)_1997456360.json", "untyped_main.sink(main__this,_untyped_v)_1997456422.json", "untyped_main.sink(main__this,_untyped_v)_1997456484.json", "untyped_main.sink(main__this,_untyped_v)_1997456546.json", "untyped_main.sink(main__this,_untyped_v)_1997456608.json", "untyped_main.sink(main__this,_untyped_v)_1997456670.json", "untyped_main.sink(main__this,_untyped_v)_1997456732.json", "untyped_main.sink(main__this,_untyped_v)_1997456794.json", "untyped_main.sink(main__this,_untyped_v)_1997456856.json", "untyped_main.sink(main__this,_untyped_v)_1997456918.json", "untyped_main.sink(main__this,_untyped_v)_1997456980.json", "untyped_main.sink(main__this,_untyped_v)_1997457042.json", "untyped_main.sink(main__this,_untyped_v)_1997457104.json", "untyped_main.sink(main__this,_untyped_v)_1997457166.json", "untyped_main.sink(main__this,_untyped_v)_1997457228.json", "untyped_main.sink(main__this,_untyped_v)_1997457290.json", "untyped_main.sink(main__this,_untyped_v)_1997457352.json", "untyped_main.sink(main__this,_untyped_v)_1997457414.json", "untyped_main.sink(main__this,_untyped_v)_1997457476.json", "untyped_main.sink(main__this,_untyped_v)_1997457538.json", "untyped_main.sink(main__this,_untyped_v)_1997457600.json", "untyped_main.source(main__this)_1997461041.json", "untyped_main.source(main__this)_1997463738.json" ], "info" : { "cfgs" : "3", - "duration" : "1s 83ms", - "end" : "2023-03-17T12:02:23.767+01:00", + "duration" : "693ms", + "end" : "2023-04-20T12:45:44.329+02:00", "expressions" : "237", "files" : "41", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-17T12:02:22.684+01:00", + "start" : "2023-04-20T12:45:43.636+02:00", "statements" : "79", "units" : "1", "version" : "0.1b7", @@ -90,6 +90,7 @@ "jsonOutput" : "true", "openCallPolicy" : "ReturnTopPolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "TaintCheck", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.main(main__this).json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.main(main__this).json index 91d01a3a6..fbdc4e00e 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.main(main__this).json +++ b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.main(main__this).json @@ -1 +1 @@ -{"name":"untyped main::main(main* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = \"a\""},{"id":1,"text":"k"},{"id":2,"text":"\"a\""},{"id":3,"subNodes":[4,5],"text":"j = \"b\""},{"id":4,"text":"j"},{"id":5,"text":"\"b\""},{"id":6,"subNodes":[7,8],"text":"v = source(this)"},{"id":7,"text":"v"},{"id":8,"subNodes":[9],"text":"source(this)"},{"id":9,"text":"this"},{"id":10,"subNodes":[11,12],"text":"sink(this, v)"},{"id":11,"text":"this"},{"id":12,"text":"v"},{"id":13,"subNodes":[14,15],"text":"sink(this, k)"},{"id":14,"text":"this"},{"id":15,"text":"k"},{"id":16,"subNodes":[17,18],"text":"sink(this, j)"},{"id":17,"text":"this"},{"id":18,"text":"j"},{"id":19,"text":"v"},{"id":20,"subNodes":[21,22],"text":"k = source(this)"},{"id":21,"text":"k"},{"id":22,"subNodes":[23],"text":"source(this)"},{"id":23,"text":"this"},{"id":24,"subNodes":[25,26],"text":"sink(this, k)"},{"id":25,"text":"this"},{"id":26,"text":"k"},{"id":27,"subNodes":[28,29],"text":"sink(this, j)"},{"id":28,"text":"this"},{"id":29,"text":"j"},{"id":30,"subNodes":[31,32],"text":"r = len(v)"},{"id":31,"text":"r"},{"id":32,"subNodes":[33],"text":"len(v)"},{"id":33,"text":"v"},{"id":34,"subNodes":[35,36],"text":"sink(this, r)"},{"id":35,"text":"this"},{"id":36,"text":"r"},{"id":37,"subNodes":[38,39],"text":"r = len(k)"},{"id":38,"text":"r"},{"id":39,"subNodes":[40],"text":"len(k)"},{"id":40,"text":"k"},{"id":41,"subNodes":[42,43],"text":"sink(this, r)"},{"id":42,"text":"this"},{"id":43,"text":"r"},{"id":44,"subNodes":[45,46],"text":"r = len(j)"},{"id":45,"text":"r"},{"id":46,"subNodes":[47],"text":"len(j)"},{"id":47,"text":"j"},{"id":48,"subNodes":[49,50],"text":"sink(this, r)"},{"id":49,"text":"this"},{"id":50,"text":"r"},{"id":51,"subNodes":[52,53],"text":"r = concat(k, k)"},{"id":52,"text":"r"},{"id":53,"subNodes":[54,55],"text":"concat(k, k)"},{"id":54,"text":"k"},{"id":55,"text":"k"},{"id":56,"subNodes":[57,58],"text":"sink(this, r)"},{"id":57,"text":"this"},{"id":58,"text":"r"},{"id":59,"subNodes":[60,61],"text":"r = concat(k, v)"},{"id":60,"text":"r"},{"id":61,"subNodes":[62,63],"text":"concat(k, v)"},{"id":62,"text":"k"},{"id":63,"text":"v"},{"id":64,"subNodes":[65,66],"text":"sink(this, r)"},{"id":65,"text":"this"},{"id":66,"text":"r"},{"id":67,"subNodes":[68,69],"text":"r = concat(k, j)"},{"id":68,"text":"r"},{"id":69,"subNodes":[70,71],"text":"concat(k, j)"},{"id":70,"text":"k"},{"id":71,"text":"j"},{"id":72,"subNodes":[73,74],"text":"sink(this, r)"},{"id":73,"text":"this"},{"id":74,"text":"r"},{"id":75,"subNodes":[76,77],"text":"r = concat(v, v)"},{"id":76,"text":"r"},{"id":77,"subNodes":[78,79],"text":"concat(v, v)"},{"id":78,"text":"v"},{"id":79,"text":"v"},{"id":80,"subNodes":[81,82],"text":"sink(this, r)"},{"id":81,"text":"this"},{"id":82,"text":"r"},{"id":83,"subNodes":[84,85],"text":"r = concat(v, j)"},{"id":84,"text":"r"},{"id":85,"subNodes":[86,87],"text":"concat(v, j)"},{"id":86,"text":"v"},{"id":87,"text":"j"},{"id":88,"subNodes":[89,90],"text":"sink(this, r)"},{"id":89,"text":"this"},{"id":90,"text":"r"},{"id":91,"subNodes":[92,93],"text":"r = concat(j, j)"},{"id":92,"text":"r"},{"id":93,"subNodes":[94,95],"text":"concat(j, j)"},{"id":94,"text":"j"},{"id":95,"text":"j"},{"id":96,"subNodes":[97,98],"text":"sink(this, r)"},{"id":97,"text":"this"},{"id":98,"text":"r"},{"id":99,"subNodes":[100,101],"text":"r = concat(v, k)"},{"id":100,"text":"r"},{"id":101,"subNodes":[102,103],"text":"concat(v, k)"},{"id":102,"text":"v"},{"id":103,"text":"k"},{"id":104,"subNodes":[105,106],"text":"sink(this, r)"},{"id":105,"text":"this"},{"id":106,"text":"r"},{"id":107,"subNodes":[108,109],"text":"r = concat(j, k)"},{"id":108,"text":"r"},{"id":109,"subNodes":[110,111],"text":"concat(j, k)"},{"id":110,"text":"j"},{"id":111,"text":"k"},{"id":112,"subNodes":[113,114],"text":"sink(this, r)"},{"id":113,"text":"this"},{"id":114,"text":"r"},{"id":115,"subNodes":[116,117],"text":"r = concat(j, v)"},{"id":116,"text":"r"},{"id":117,"subNodes":[118,119],"text":"concat(j, v)"},{"id":118,"text":"j"},{"id":119,"text":"v"},{"id":120,"subNodes":[121,122],"text":"sink(this, r)"},{"id":121,"text":"this"},{"id":122,"text":"r"},{"id":123,"subNodes":[124,125],"text":"r = replace(k, k, k)"},{"id":124,"text":"r"},{"id":125,"subNodes":[126,127,128],"text":"replace(k, k, k)"},{"id":126,"text":"k"},{"id":127,"text":"k"},{"id":128,"text":"k"},{"id":129,"subNodes":[130,131],"text":"sink(this, r)"},{"id":130,"text":"this"},{"id":131,"text":"r"},{"id":132,"subNodes":[133,134],"text":"r = replace(k, k, v)"},{"id":133,"text":"r"},{"id":134,"subNodes":[135,136,137],"text":"replace(k, k, v)"},{"id":135,"text":"k"},{"id":136,"text":"k"},{"id":137,"text":"v"},{"id":138,"subNodes":[139,140],"text":"sink(this, r)"},{"id":139,"text":"this"},{"id":140,"text":"r"},{"id":141,"subNodes":[142,143],"text":"r = replace(k, v, k)"},{"id":142,"text":"r"},{"id":143,"subNodes":[144,145,146],"text":"replace(k, v, k)"},{"id":144,"text":"k"},{"id":145,"text":"v"},{"id":146,"text":"k"},{"id":147,"subNodes":[148,149],"text":"sink(this, r)"},{"id":148,"text":"this"},{"id":149,"text":"r"},{"id":150,"subNodes":[151,152],"text":"r = replace(k, v, v)"},{"id":151,"text":"r"},{"id":152,"subNodes":[153,154,155],"text":"replace(k, v, v)"},{"id":153,"text":"k"},{"id":154,"text":"v"},{"id":155,"text":"v"},{"id":156,"subNodes":[157,158],"text":"sink(this, r)"},{"id":157,"text":"this"},{"id":158,"text":"r"},{"id":159,"subNodes":[160,161],"text":"r = replace(v, k, k)"},{"id":160,"text":"r"},{"id":161,"subNodes":[162,163,164],"text":"replace(v, k, k)"},{"id":162,"text":"v"},{"id":163,"text":"k"},{"id":164,"text":"k"},{"id":165,"subNodes":[166,167],"text":"sink(this, r)"},{"id":166,"text":"this"},{"id":167,"text":"r"},{"id":168,"subNodes":[169,170],"text":"r = replace(v, k, v)"},{"id":169,"text":"r"},{"id":170,"subNodes":[171,172,173],"text":"replace(v, k, v)"},{"id":171,"text":"v"},{"id":172,"text":"k"},{"id":173,"text":"v"},{"id":174,"subNodes":[175,176],"text":"sink(this, r)"},{"id":175,"text":"this"},{"id":176,"text":"r"},{"id":177,"subNodes":[178,179],"text":"r = replace(v, v, k)"},{"id":178,"text":"r"},{"id":179,"subNodes":[180,181,182],"text":"replace(v, v, k)"},{"id":180,"text":"v"},{"id":181,"text":"v"},{"id":182,"text":"k"},{"id":183,"subNodes":[184,185],"text":"sink(this, r)"},{"id":184,"text":"this"},{"id":185,"text":"r"},{"id":186,"subNodes":[187,188],"text":"r = replace(v, v, v)"},{"id":187,"text":"r"},{"id":188,"subNodes":[189,190,191],"text":"replace(v, v, v)"},{"id":189,"text":"v"},{"id":190,"text":"v"},{"id":191,"text":"v"},{"id":192,"subNodes":[193,194],"text":"sink(this, r)"},{"id":193,"text":"this"},{"id":194,"text":"r"},{"id":195,"subNodes":[196,197],"text":"r = replace(k, k, j)"},{"id":196,"text":"r"},{"id":197,"subNodes":[198,199,200],"text":"replace(k, k, j)"},{"id":198,"text":"k"},{"id":199,"text":"k"},{"id":200,"text":"j"},{"id":201,"subNodes":[202,203],"text":"sink(this, r)"},{"id":202,"text":"this"},{"id":203,"text":"r"},{"id":204,"subNodes":[205,206],"text":"r = replace(k, j, k)"},{"id":205,"text":"r"},{"id":206,"subNodes":[207,208,209],"text":"replace(k, j, k)"},{"id":207,"text":"k"},{"id":208,"text":"j"},{"id":209,"text":"k"},{"id":210,"subNodes":[211,212],"text":"sink(this, r)"},{"id":211,"text":"this"},{"id":212,"text":"r"},{"id":213,"subNodes":[214,215],"text":"r = replace(k, j, j)"},{"id":214,"text":"r"},{"id":215,"subNodes":[216,217,218],"text":"replace(k, j, j)"},{"id":216,"text":"k"},{"id":217,"text":"j"},{"id":218,"text":"j"},{"id":219,"subNodes":[220,221],"text":"sink(this, r)"},{"id":220,"text":"this"},{"id":221,"text":"r"},{"id":222,"subNodes":[223,224],"text":"r = replace(j, k, k)"},{"id":223,"text":"r"},{"id":224,"subNodes":[225,226,227],"text":"replace(j, k, k)"},{"id":225,"text":"j"},{"id":226,"text":"k"},{"id":227,"text":"k"},{"id":228,"subNodes":[229,230],"text":"sink(this, r)"},{"id":229,"text":"this"},{"id":230,"text":"r"},{"id":231,"subNodes":[232,233],"text":"r = replace(j, k, j)"},{"id":232,"text":"r"},{"id":233,"subNodes":[234,235,236],"text":"replace(j, k, j)"},{"id":234,"text":"j"},{"id":235,"text":"k"},{"id":236,"text":"j"},{"id":237,"subNodes":[238,239],"text":"sink(this, r)"},{"id":238,"text":"this"},{"id":239,"text":"r"},{"id":240,"subNodes":[241,242],"text":"r = replace(j, j, k)"},{"id":241,"text":"r"},{"id":242,"subNodes":[243,244,245],"text":"replace(j, j, k)"},{"id":243,"text":"j"},{"id":244,"text":"j"},{"id":245,"text":"k"},{"id":246,"subNodes":[247,248],"text":"sink(this, r)"},{"id":247,"text":"this"},{"id":248,"text":"r"},{"id":249,"subNodes":[250,251],"text":"r = replace(j, j, j)"},{"id":250,"text":"r"},{"id":251,"subNodes":[252,253,254],"text":"replace(j, j, j)"},{"id":252,"text":"j"},{"id":253,"text":"j"},{"id":254,"text":"j"},{"id":255,"subNodes":[256,257],"text":"sink(this, r)"},{"id":256,"text":"this"},{"id":257,"text":"r"},{"id":258,"subNodes":[259,260],"text":"r = replace(v, v, j)"},{"id":259,"text":"r"},{"id":260,"subNodes":[261,262,263],"text":"replace(v, v, j)"},{"id":261,"text":"v"},{"id":262,"text":"v"},{"id":263,"text":"j"},{"id":264,"subNodes":[265,266],"text":"sink(this, r)"},{"id":265,"text":"this"},{"id":266,"text":"r"},{"id":267,"subNodes":[268,269],"text":"r = replace(v, j, v)"},{"id":268,"text":"r"},{"id":269,"subNodes":[270,271,272],"text":"replace(v, j, v)"},{"id":270,"text":"v"},{"id":271,"text":"j"},{"id":272,"text":"v"},{"id":273,"subNodes":[274,275],"text":"sink(this, r)"},{"id":274,"text":"this"},{"id":275,"text":"r"},{"id":276,"subNodes":[277,278],"text":"r = replace(v, j, j)"},{"id":277,"text":"r"},{"id":278,"subNodes":[279,280,281],"text":"replace(v, j, j)"},{"id":279,"text":"v"},{"id":280,"text":"j"},{"id":281,"text":"j"},{"id":282,"subNodes":[283,284],"text":"sink(this, r)"},{"id":283,"text":"this"},{"id":284,"text":"r"},{"id":285,"subNodes":[286,287],"text":"r = replace(j, v, v)"},{"id":286,"text":"r"},{"id":287,"subNodes":[288,289,290],"text":"replace(j, v, v)"},{"id":288,"text":"j"},{"id":289,"text":"v"},{"id":290,"text":"v"},{"id":291,"subNodes":[292,293],"text":"sink(this, r)"},{"id":292,"text":"this"},{"id":293,"text":"r"},{"id":294,"subNodes":[295,296],"text":"r = replace(j, v, j)"},{"id":295,"text":"r"},{"id":296,"subNodes":[297,298,299],"text":"replace(j, v, j)"},{"id":297,"text":"j"},{"id":298,"text":"v"},{"id":299,"text":"j"},{"id":300,"subNodes":[301,302],"text":"sink(this, r)"},{"id":301,"text":"this"},{"id":302,"text":"r"},{"id":303,"subNodes":[304,305],"text":"r = replace(j, j, v)"},{"id":304,"text":"r"},{"id":305,"subNodes":[306,307,308],"text":"replace(j, j, v)"},{"id":306,"text":"j"},{"id":307,"text":"j"},{"id":308,"text":"v"},{"id":309,"subNodes":[310,311],"text":"sink(this, r)"},{"id":310,"text":"this"},{"id":311,"text":"r"},{"id":312,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"},{"sourceId":13,"destId":16,"kind":"SequentialEdge"},{"sourceId":16,"destId":19,"kind":"SequentialEdge"},{"sourceId":19,"destId":20,"kind":"TrueEdge"},{"sourceId":19,"destId":24,"kind":"FalseEdge"},{"sourceId":20,"destId":24,"kind":"SequentialEdge"},{"sourceId":24,"destId":27,"kind":"SequentialEdge"},{"sourceId":27,"destId":30,"kind":"SequentialEdge"},{"sourceId":30,"destId":34,"kind":"SequentialEdge"},{"sourceId":34,"destId":37,"kind":"SequentialEdge"},{"sourceId":37,"destId":41,"kind":"SequentialEdge"},{"sourceId":41,"destId":44,"kind":"SequentialEdge"},{"sourceId":44,"destId":48,"kind":"SequentialEdge"},{"sourceId":48,"destId":51,"kind":"SequentialEdge"},{"sourceId":51,"destId":56,"kind":"SequentialEdge"},{"sourceId":56,"destId":59,"kind":"SequentialEdge"},{"sourceId":59,"destId":64,"kind":"SequentialEdge"},{"sourceId":64,"destId":67,"kind":"SequentialEdge"},{"sourceId":67,"destId":72,"kind":"SequentialEdge"},{"sourceId":72,"destId":75,"kind":"SequentialEdge"},{"sourceId":75,"destId":80,"kind":"SequentialEdge"},{"sourceId":80,"destId":83,"kind":"SequentialEdge"},{"sourceId":83,"destId":88,"kind":"SequentialEdge"},{"sourceId":88,"destId":91,"kind":"SequentialEdge"},{"sourceId":91,"destId":96,"kind":"SequentialEdge"},{"sourceId":96,"destId":99,"kind":"SequentialEdge"},{"sourceId":99,"destId":104,"kind":"SequentialEdge"},{"sourceId":104,"destId":107,"kind":"SequentialEdge"},{"sourceId":107,"destId":112,"kind":"SequentialEdge"},{"sourceId":112,"destId":115,"kind":"SequentialEdge"},{"sourceId":115,"destId":120,"kind":"SequentialEdge"},{"sourceId":120,"destId":123,"kind":"SequentialEdge"},{"sourceId":123,"destId":129,"kind":"SequentialEdge"},{"sourceId":129,"destId":132,"kind":"SequentialEdge"},{"sourceId":132,"destId":138,"kind":"SequentialEdge"},{"sourceId":138,"destId":141,"kind":"SequentialEdge"},{"sourceId":141,"destId":147,"kind":"SequentialEdge"},{"sourceId":147,"destId":150,"kind":"SequentialEdge"},{"sourceId":150,"destId":156,"kind":"SequentialEdge"},{"sourceId":156,"destId":159,"kind":"SequentialEdge"},{"sourceId":159,"destId":165,"kind":"SequentialEdge"},{"sourceId":165,"destId":168,"kind":"SequentialEdge"},{"sourceId":168,"destId":174,"kind":"SequentialEdge"},{"sourceId":174,"destId":177,"kind":"SequentialEdge"},{"sourceId":177,"destId":183,"kind":"SequentialEdge"},{"sourceId":183,"destId":186,"kind":"SequentialEdge"},{"sourceId":186,"destId":192,"kind":"SequentialEdge"},{"sourceId":192,"destId":195,"kind":"SequentialEdge"},{"sourceId":195,"destId":201,"kind":"SequentialEdge"},{"sourceId":201,"destId":204,"kind":"SequentialEdge"},{"sourceId":204,"destId":210,"kind":"SequentialEdge"},{"sourceId":210,"destId":213,"kind":"SequentialEdge"},{"sourceId":213,"destId":219,"kind":"SequentialEdge"},{"sourceId":219,"destId":222,"kind":"SequentialEdge"},{"sourceId":222,"destId":228,"kind":"SequentialEdge"},{"sourceId":228,"destId":231,"kind":"SequentialEdge"},{"sourceId":231,"destId":237,"kind":"SequentialEdge"},{"sourceId":237,"destId":240,"kind":"SequentialEdge"},{"sourceId":240,"destId":246,"kind":"SequentialEdge"},{"sourceId":246,"destId":249,"kind":"SequentialEdge"},{"sourceId":249,"destId":255,"kind":"SequentialEdge"},{"sourceId":255,"destId":258,"kind":"SequentialEdge"},{"sourceId":258,"destId":264,"kind":"SequentialEdge"},{"sourceId":264,"destId":267,"kind":"SequentialEdge"},{"sourceId":267,"destId":273,"kind":"SequentialEdge"},{"sourceId":273,"destId":276,"kind":"SequentialEdge"},{"sourceId":276,"destId":282,"kind":"SequentialEdge"},{"sourceId":282,"destId":285,"kind":"SequentialEdge"},{"sourceId":285,"destId":291,"kind":"SequentialEdge"},{"sourceId":291,"destId":294,"kind":"SequentialEdge"},{"sourceId":294,"destId":300,"kind":"SequentialEdge"},{"sourceId":300,"destId":303,"kind":"SequentialEdge"},{"sourceId":303,"destId":309,"kind":"SequentialEdge"},{"sourceId":309,"destId":312,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":2,"description":{"expressions":["\"a\""],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":3,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":4,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":5,"description":{"expressions":["\"b\""],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":6,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":7,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':14:22"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":10,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':15:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":12,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":13,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':16:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":14,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":15,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":16,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':17:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":17,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":18,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":19,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":20,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":21,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':20:19"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":24,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':22:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":25,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":26,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":27,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':23:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":28,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":29,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":30,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":31,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":32,"description":{"expressions":["strlen v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":33,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":34,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':27:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":35,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":36,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":37,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":38,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":39,"description":{"expressions":["strlen k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":40,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":41,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':29:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":42,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":43,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":44,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":45,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":46,"description":{"expressions":["strlen j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":47,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":48,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':31:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":49,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":50,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":51,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":52,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":53,"description":{"expressions":["k strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":54,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":55,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":56,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':35:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":57,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":58,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":59,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":60,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":61,"description":{"expressions":["k strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":62,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":63,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":64,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':37:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":65,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":66,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":67,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":68,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":69,"description":{"expressions":["k strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":70,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":71,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":72,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':39:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":73,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":74,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":75,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":76,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":77,"description":{"expressions":["v strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":78,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":79,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":80,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':41:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":81,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":82,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":83,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":84,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":85,"description":{"expressions":["v strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":86,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":87,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":88,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':43:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":89,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":90,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":91,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":92,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":93,"description":{"expressions":["j strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":94,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":95,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":96,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':45:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":97,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":98,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":99,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":100,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":101,"description":{"expressions":["v strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":102,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":103,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":104,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':47:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":105,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":106,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":107,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":108,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":109,"description":{"expressions":["j strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":110,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":111,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":112,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':49:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":113,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":114,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":115,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":116,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":117,"description":{"expressions":["j strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":118,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":119,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":120,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':51:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":121,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":122,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":123,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":124,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":125,"description":{"expressions":["k strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":126,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":127,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":128,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":129,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':55:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":130,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":131,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":132,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":133,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":134,"description":{"expressions":["k strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":135,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":136,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":137,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":138,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':57:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":139,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":140,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":141,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":142,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":143,"description":{"expressions":["k strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":144,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":145,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":146,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":147,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':59:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":148,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":149,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":150,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":151,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":152,"description":{"expressions":["k strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":153,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":154,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":155,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":156,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':61:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":157,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":158,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":159,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":160,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":161,"description":{"expressions":["v strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":162,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":163,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":164,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":165,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':63:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":166,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":167,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":168,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":169,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":170,"description":{"expressions":["v strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":171,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":172,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":173,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":174,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':65:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":175,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":176,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":177,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":178,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":179,"description":{"expressions":["v strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":180,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":181,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":182,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":183,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':67:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":184,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":185,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":186,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":187,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":188,"description":{"expressions":["v strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":189,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":190,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":191,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":192,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':69:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":193,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":194,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":195,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":196,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":197,"description":{"expressions":["k strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":198,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":199,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":200,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":201,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':71:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":202,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":203,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":204,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":205,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":206,"description":{"expressions":["k strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":207,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":208,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":209,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":210,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':73:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":211,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":212,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":213,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":214,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":215,"description":{"expressions":["k strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":216,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":217,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":218,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":219,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':75:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":220,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":221,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":222,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":223,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":224,"description":{"expressions":["j strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":225,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":226,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":227,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":228,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':77:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":229,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":230,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":231,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":232,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":233,"description":{"expressions":["j strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":234,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":235,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":236,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":237,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':79:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":238,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":239,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":240,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":241,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":242,"description":{"expressions":["j strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":243,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":244,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":245,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":246,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':81:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":247,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":248,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":249,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":250,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":251,"description":{"expressions":["j strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":252,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":253,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":254,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":255,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':83:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":256,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":257,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":258,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":259,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":260,"description":{"expressions":["v strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":261,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":262,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":263,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":264,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':85:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":265,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":266,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":267,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":268,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":269,"description":{"expressions":["v strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":270,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":271,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":272,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":273,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':87:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":274,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":275,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":276,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":277,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":278,"description":{"expressions":["v strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":279,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":280,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":281,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":282,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':89:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":283,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":284,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":285,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":286,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":287,"description":{"expressions":["j strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":288,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":289,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":290,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":291,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':91:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":292,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":293,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":294,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":295,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":296,"description":{"expressions":["j strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":297,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":298,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":299,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":300,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':93:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":301,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":302,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":303,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":304,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":305,"description":{"expressions":["j strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":306,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":307,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":308,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":309,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':95:13"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":310,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":311,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":312,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}}]} \ No newline at end of file +{"name":"untyped main::main(main* this)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"k = \"a\""},{"id":1,"text":"k"},{"id":2,"text":"\"a\""},{"id":3,"subNodes":[4,5],"text":"j = \"b\""},{"id":4,"text":"j"},{"id":5,"text":"\"b\""},{"id":6,"subNodes":[7,8],"text":"v = source(this)"},{"id":7,"text":"v"},{"id":8,"subNodes":[9],"text":"source(this)"},{"id":9,"text":"this"},{"id":10,"subNodes":[11,12],"text":"sink(this, v)"},{"id":11,"text":"this"},{"id":12,"text":"v"},{"id":13,"subNodes":[14,15],"text":"sink(this, k)"},{"id":14,"text":"this"},{"id":15,"text":"k"},{"id":16,"subNodes":[17,18],"text":"sink(this, j)"},{"id":17,"text":"this"},{"id":18,"text":"j"},{"id":19,"text":"v"},{"id":20,"subNodes":[21,22],"text":"k = source(this)"},{"id":21,"text":"k"},{"id":22,"subNodes":[23],"text":"source(this)"},{"id":23,"text":"this"},{"id":24,"subNodes":[25,26],"text":"sink(this, k)"},{"id":25,"text":"this"},{"id":26,"text":"k"},{"id":27,"subNodes":[28,29],"text":"sink(this, j)"},{"id":28,"text":"this"},{"id":29,"text":"j"},{"id":30,"subNodes":[31,32],"text":"r = len(v)"},{"id":31,"text":"r"},{"id":32,"subNodes":[33],"text":"len(v)"},{"id":33,"text":"v"},{"id":34,"subNodes":[35,36],"text":"sink(this, r)"},{"id":35,"text":"this"},{"id":36,"text":"r"},{"id":37,"subNodes":[38,39],"text":"r = len(k)"},{"id":38,"text":"r"},{"id":39,"subNodes":[40],"text":"len(k)"},{"id":40,"text":"k"},{"id":41,"subNodes":[42,43],"text":"sink(this, r)"},{"id":42,"text":"this"},{"id":43,"text":"r"},{"id":44,"subNodes":[45,46],"text":"r = len(j)"},{"id":45,"text":"r"},{"id":46,"subNodes":[47],"text":"len(j)"},{"id":47,"text":"j"},{"id":48,"subNodes":[49,50],"text":"sink(this, r)"},{"id":49,"text":"this"},{"id":50,"text":"r"},{"id":51,"subNodes":[52,53],"text":"r = concat(k, k)"},{"id":52,"text":"r"},{"id":53,"subNodes":[54,55],"text":"concat(k, k)"},{"id":54,"text":"k"},{"id":55,"text":"k"},{"id":56,"subNodes":[57,58],"text":"sink(this, r)"},{"id":57,"text":"this"},{"id":58,"text":"r"},{"id":59,"subNodes":[60,61],"text":"r = concat(k, v)"},{"id":60,"text":"r"},{"id":61,"subNodes":[62,63],"text":"concat(k, v)"},{"id":62,"text":"k"},{"id":63,"text":"v"},{"id":64,"subNodes":[65,66],"text":"sink(this, r)"},{"id":65,"text":"this"},{"id":66,"text":"r"},{"id":67,"subNodes":[68,69],"text":"r = concat(k, j)"},{"id":68,"text":"r"},{"id":69,"subNodes":[70,71],"text":"concat(k, j)"},{"id":70,"text":"k"},{"id":71,"text":"j"},{"id":72,"subNodes":[73,74],"text":"sink(this, r)"},{"id":73,"text":"this"},{"id":74,"text":"r"},{"id":75,"subNodes":[76,77],"text":"r = concat(v, v)"},{"id":76,"text":"r"},{"id":77,"subNodes":[78,79],"text":"concat(v, v)"},{"id":78,"text":"v"},{"id":79,"text":"v"},{"id":80,"subNodes":[81,82],"text":"sink(this, r)"},{"id":81,"text":"this"},{"id":82,"text":"r"},{"id":83,"subNodes":[84,85],"text":"r = concat(v, j)"},{"id":84,"text":"r"},{"id":85,"subNodes":[86,87],"text":"concat(v, j)"},{"id":86,"text":"v"},{"id":87,"text":"j"},{"id":88,"subNodes":[89,90],"text":"sink(this, r)"},{"id":89,"text":"this"},{"id":90,"text":"r"},{"id":91,"subNodes":[92,93],"text":"r = concat(j, j)"},{"id":92,"text":"r"},{"id":93,"subNodes":[94,95],"text":"concat(j, j)"},{"id":94,"text":"j"},{"id":95,"text":"j"},{"id":96,"subNodes":[97,98],"text":"sink(this, r)"},{"id":97,"text":"this"},{"id":98,"text":"r"},{"id":99,"subNodes":[100,101],"text":"r = concat(v, k)"},{"id":100,"text":"r"},{"id":101,"subNodes":[102,103],"text":"concat(v, k)"},{"id":102,"text":"v"},{"id":103,"text":"k"},{"id":104,"subNodes":[105,106],"text":"sink(this, r)"},{"id":105,"text":"this"},{"id":106,"text":"r"},{"id":107,"subNodes":[108,109],"text":"r = concat(j, k)"},{"id":108,"text":"r"},{"id":109,"subNodes":[110,111],"text":"concat(j, k)"},{"id":110,"text":"j"},{"id":111,"text":"k"},{"id":112,"subNodes":[113,114],"text":"sink(this, r)"},{"id":113,"text":"this"},{"id":114,"text":"r"},{"id":115,"subNodes":[116,117],"text":"r = concat(j, v)"},{"id":116,"text":"r"},{"id":117,"subNodes":[118,119],"text":"concat(j, v)"},{"id":118,"text":"j"},{"id":119,"text":"v"},{"id":120,"subNodes":[121,122],"text":"sink(this, r)"},{"id":121,"text":"this"},{"id":122,"text":"r"},{"id":123,"subNodes":[124,125],"text":"r = replace(k, k, k)"},{"id":124,"text":"r"},{"id":125,"subNodes":[126,127,128],"text":"replace(k, k, k)"},{"id":126,"text":"k"},{"id":127,"text":"k"},{"id":128,"text":"k"},{"id":129,"subNodes":[130,131],"text":"sink(this, r)"},{"id":130,"text":"this"},{"id":131,"text":"r"},{"id":132,"subNodes":[133,134],"text":"r = replace(k, k, v)"},{"id":133,"text":"r"},{"id":134,"subNodes":[135,136,137],"text":"replace(k, k, v)"},{"id":135,"text":"k"},{"id":136,"text":"k"},{"id":137,"text":"v"},{"id":138,"subNodes":[139,140],"text":"sink(this, r)"},{"id":139,"text":"this"},{"id":140,"text":"r"},{"id":141,"subNodes":[142,143],"text":"r = replace(k, v, k)"},{"id":142,"text":"r"},{"id":143,"subNodes":[144,145,146],"text":"replace(k, v, k)"},{"id":144,"text":"k"},{"id":145,"text":"v"},{"id":146,"text":"k"},{"id":147,"subNodes":[148,149],"text":"sink(this, r)"},{"id":148,"text":"this"},{"id":149,"text":"r"},{"id":150,"subNodes":[151,152],"text":"r = replace(k, v, v)"},{"id":151,"text":"r"},{"id":152,"subNodes":[153,154,155],"text":"replace(k, v, v)"},{"id":153,"text":"k"},{"id":154,"text":"v"},{"id":155,"text":"v"},{"id":156,"subNodes":[157,158],"text":"sink(this, r)"},{"id":157,"text":"this"},{"id":158,"text":"r"},{"id":159,"subNodes":[160,161],"text":"r = replace(v, k, k)"},{"id":160,"text":"r"},{"id":161,"subNodes":[162,163,164],"text":"replace(v, k, k)"},{"id":162,"text":"v"},{"id":163,"text":"k"},{"id":164,"text":"k"},{"id":165,"subNodes":[166,167],"text":"sink(this, r)"},{"id":166,"text":"this"},{"id":167,"text":"r"},{"id":168,"subNodes":[169,170],"text":"r = replace(v, k, v)"},{"id":169,"text":"r"},{"id":170,"subNodes":[171,172,173],"text":"replace(v, k, v)"},{"id":171,"text":"v"},{"id":172,"text":"k"},{"id":173,"text":"v"},{"id":174,"subNodes":[175,176],"text":"sink(this, r)"},{"id":175,"text":"this"},{"id":176,"text":"r"},{"id":177,"subNodes":[178,179],"text":"r = replace(v, v, k)"},{"id":178,"text":"r"},{"id":179,"subNodes":[180,181,182],"text":"replace(v, v, k)"},{"id":180,"text":"v"},{"id":181,"text":"v"},{"id":182,"text":"k"},{"id":183,"subNodes":[184,185],"text":"sink(this, r)"},{"id":184,"text":"this"},{"id":185,"text":"r"},{"id":186,"subNodes":[187,188],"text":"r = replace(v, v, v)"},{"id":187,"text":"r"},{"id":188,"subNodes":[189,190,191],"text":"replace(v, v, v)"},{"id":189,"text":"v"},{"id":190,"text":"v"},{"id":191,"text":"v"},{"id":192,"subNodes":[193,194],"text":"sink(this, r)"},{"id":193,"text":"this"},{"id":194,"text":"r"},{"id":195,"subNodes":[196,197],"text":"r = replace(k, k, j)"},{"id":196,"text":"r"},{"id":197,"subNodes":[198,199,200],"text":"replace(k, k, j)"},{"id":198,"text":"k"},{"id":199,"text":"k"},{"id":200,"text":"j"},{"id":201,"subNodes":[202,203],"text":"sink(this, r)"},{"id":202,"text":"this"},{"id":203,"text":"r"},{"id":204,"subNodes":[205,206],"text":"r = replace(k, j, k)"},{"id":205,"text":"r"},{"id":206,"subNodes":[207,208,209],"text":"replace(k, j, k)"},{"id":207,"text":"k"},{"id":208,"text":"j"},{"id":209,"text":"k"},{"id":210,"subNodes":[211,212],"text":"sink(this, r)"},{"id":211,"text":"this"},{"id":212,"text":"r"},{"id":213,"subNodes":[214,215],"text":"r = replace(k, j, j)"},{"id":214,"text":"r"},{"id":215,"subNodes":[216,217,218],"text":"replace(k, j, j)"},{"id":216,"text":"k"},{"id":217,"text":"j"},{"id":218,"text":"j"},{"id":219,"subNodes":[220,221],"text":"sink(this, r)"},{"id":220,"text":"this"},{"id":221,"text":"r"},{"id":222,"subNodes":[223,224],"text":"r = replace(j, k, k)"},{"id":223,"text":"r"},{"id":224,"subNodes":[225,226,227],"text":"replace(j, k, k)"},{"id":225,"text":"j"},{"id":226,"text":"k"},{"id":227,"text":"k"},{"id":228,"subNodes":[229,230],"text":"sink(this, r)"},{"id":229,"text":"this"},{"id":230,"text":"r"},{"id":231,"subNodes":[232,233],"text":"r = replace(j, k, j)"},{"id":232,"text":"r"},{"id":233,"subNodes":[234,235,236],"text":"replace(j, k, j)"},{"id":234,"text":"j"},{"id":235,"text":"k"},{"id":236,"text":"j"},{"id":237,"subNodes":[238,239],"text":"sink(this, r)"},{"id":238,"text":"this"},{"id":239,"text":"r"},{"id":240,"subNodes":[241,242],"text":"r = replace(j, j, k)"},{"id":241,"text":"r"},{"id":242,"subNodes":[243,244,245],"text":"replace(j, j, k)"},{"id":243,"text":"j"},{"id":244,"text":"j"},{"id":245,"text":"k"},{"id":246,"subNodes":[247,248],"text":"sink(this, r)"},{"id":247,"text":"this"},{"id":248,"text":"r"},{"id":249,"subNodes":[250,251],"text":"r = replace(j, j, j)"},{"id":250,"text":"r"},{"id":251,"subNodes":[252,253,254],"text":"replace(j, j, j)"},{"id":252,"text":"j"},{"id":253,"text":"j"},{"id":254,"text":"j"},{"id":255,"subNodes":[256,257],"text":"sink(this, r)"},{"id":256,"text":"this"},{"id":257,"text":"r"},{"id":258,"subNodes":[259,260],"text":"r = replace(v, v, j)"},{"id":259,"text":"r"},{"id":260,"subNodes":[261,262,263],"text":"replace(v, v, j)"},{"id":261,"text":"v"},{"id":262,"text":"v"},{"id":263,"text":"j"},{"id":264,"subNodes":[265,266],"text":"sink(this, r)"},{"id":265,"text":"this"},{"id":266,"text":"r"},{"id":267,"subNodes":[268,269],"text":"r = replace(v, j, v)"},{"id":268,"text":"r"},{"id":269,"subNodes":[270,271,272],"text":"replace(v, j, v)"},{"id":270,"text":"v"},{"id":271,"text":"j"},{"id":272,"text":"v"},{"id":273,"subNodes":[274,275],"text":"sink(this, r)"},{"id":274,"text":"this"},{"id":275,"text":"r"},{"id":276,"subNodes":[277,278],"text":"r = replace(v, j, j)"},{"id":277,"text":"r"},{"id":278,"subNodes":[279,280,281],"text":"replace(v, j, j)"},{"id":279,"text":"v"},{"id":280,"text":"j"},{"id":281,"text":"j"},{"id":282,"subNodes":[283,284],"text":"sink(this, r)"},{"id":283,"text":"this"},{"id":284,"text":"r"},{"id":285,"subNodes":[286,287],"text":"r = replace(j, v, v)"},{"id":286,"text":"r"},{"id":287,"subNodes":[288,289,290],"text":"replace(j, v, v)"},{"id":288,"text":"j"},{"id":289,"text":"v"},{"id":290,"text":"v"},{"id":291,"subNodes":[292,293],"text":"sink(this, r)"},{"id":292,"text":"this"},{"id":293,"text":"r"},{"id":294,"subNodes":[295,296],"text":"r = replace(j, v, j)"},{"id":295,"text":"r"},{"id":296,"subNodes":[297,298,299],"text":"replace(j, v, j)"},{"id":297,"text":"j"},{"id":298,"text":"v"},{"id":299,"text":"j"},{"id":300,"subNodes":[301,302],"text":"sink(this, r)"},{"id":301,"text":"this"},{"id":302,"text":"r"},{"id":303,"subNodes":[304,305],"text":"r = replace(j, j, v)"},{"id":304,"text":"r"},{"id":305,"subNodes":[306,307,308],"text":"replace(j, j, v)"},{"id":306,"text":"j"},{"id":307,"text":"j"},{"id":308,"text":"v"},{"id":309,"subNodes":[310,311],"text":"sink(this, r)"},{"id":310,"text":"this"},{"id":311,"text":"r"},{"id":312,"text":"ret"}],"edges":[{"sourceId":0,"destId":3,"kind":"SequentialEdge"},{"sourceId":3,"destId":6,"kind":"SequentialEdge"},{"sourceId":6,"destId":10,"kind":"SequentialEdge"},{"sourceId":10,"destId":13,"kind":"SequentialEdge"},{"sourceId":13,"destId":16,"kind":"SequentialEdge"},{"sourceId":16,"destId":19,"kind":"SequentialEdge"},{"sourceId":19,"destId":20,"kind":"TrueEdge"},{"sourceId":19,"destId":24,"kind":"FalseEdge"},{"sourceId":20,"destId":24,"kind":"SequentialEdge"},{"sourceId":24,"destId":27,"kind":"SequentialEdge"},{"sourceId":27,"destId":30,"kind":"SequentialEdge"},{"sourceId":30,"destId":34,"kind":"SequentialEdge"},{"sourceId":34,"destId":37,"kind":"SequentialEdge"},{"sourceId":37,"destId":41,"kind":"SequentialEdge"},{"sourceId":41,"destId":44,"kind":"SequentialEdge"},{"sourceId":44,"destId":48,"kind":"SequentialEdge"},{"sourceId":48,"destId":51,"kind":"SequentialEdge"},{"sourceId":51,"destId":56,"kind":"SequentialEdge"},{"sourceId":56,"destId":59,"kind":"SequentialEdge"},{"sourceId":59,"destId":64,"kind":"SequentialEdge"},{"sourceId":64,"destId":67,"kind":"SequentialEdge"},{"sourceId":67,"destId":72,"kind":"SequentialEdge"},{"sourceId":72,"destId":75,"kind":"SequentialEdge"},{"sourceId":75,"destId":80,"kind":"SequentialEdge"},{"sourceId":80,"destId":83,"kind":"SequentialEdge"},{"sourceId":83,"destId":88,"kind":"SequentialEdge"},{"sourceId":88,"destId":91,"kind":"SequentialEdge"},{"sourceId":91,"destId":96,"kind":"SequentialEdge"},{"sourceId":96,"destId":99,"kind":"SequentialEdge"},{"sourceId":99,"destId":104,"kind":"SequentialEdge"},{"sourceId":104,"destId":107,"kind":"SequentialEdge"},{"sourceId":107,"destId":112,"kind":"SequentialEdge"},{"sourceId":112,"destId":115,"kind":"SequentialEdge"},{"sourceId":115,"destId":120,"kind":"SequentialEdge"},{"sourceId":120,"destId":123,"kind":"SequentialEdge"},{"sourceId":123,"destId":129,"kind":"SequentialEdge"},{"sourceId":129,"destId":132,"kind":"SequentialEdge"},{"sourceId":132,"destId":138,"kind":"SequentialEdge"},{"sourceId":138,"destId":141,"kind":"SequentialEdge"},{"sourceId":141,"destId":147,"kind":"SequentialEdge"},{"sourceId":147,"destId":150,"kind":"SequentialEdge"},{"sourceId":150,"destId":156,"kind":"SequentialEdge"},{"sourceId":156,"destId":159,"kind":"SequentialEdge"},{"sourceId":159,"destId":165,"kind":"SequentialEdge"},{"sourceId":165,"destId":168,"kind":"SequentialEdge"},{"sourceId":168,"destId":174,"kind":"SequentialEdge"},{"sourceId":174,"destId":177,"kind":"SequentialEdge"},{"sourceId":177,"destId":183,"kind":"SequentialEdge"},{"sourceId":183,"destId":186,"kind":"SequentialEdge"},{"sourceId":186,"destId":192,"kind":"SequentialEdge"},{"sourceId":192,"destId":195,"kind":"SequentialEdge"},{"sourceId":195,"destId":201,"kind":"SequentialEdge"},{"sourceId":201,"destId":204,"kind":"SequentialEdge"},{"sourceId":204,"destId":210,"kind":"SequentialEdge"},{"sourceId":210,"destId":213,"kind":"SequentialEdge"},{"sourceId":213,"destId":219,"kind":"SequentialEdge"},{"sourceId":219,"destId":222,"kind":"SequentialEdge"},{"sourceId":222,"destId":228,"kind":"SequentialEdge"},{"sourceId":228,"destId":231,"kind":"SequentialEdge"},{"sourceId":231,"destId":237,"kind":"SequentialEdge"},{"sourceId":237,"destId":240,"kind":"SequentialEdge"},{"sourceId":240,"destId":246,"kind":"SequentialEdge"},{"sourceId":246,"destId":249,"kind":"SequentialEdge"},{"sourceId":249,"destId":255,"kind":"SequentialEdge"},{"sourceId":255,"destId":258,"kind":"SequentialEdge"},{"sourceId":258,"destId":264,"kind":"SequentialEdge"},{"sourceId":264,"destId":267,"kind":"SequentialEdge"},{"sourceId":267,"destId":273,"kind":"SequentialEdge"},{"sourceId":273,"destId":276,"kind":"SequentialEdge"},{"sourceId":276,"destId":282,"kind":"SequentialEdge"},{"sourceId":282,"destId":285,"kind":"SequentialEdge"},{"sourceId":285,"destId":291,"kind":"SequentialEdge"},{"sourceId":291,"destId":294,"kind":"SequentialEdge"},{"sourceId":294,"destId":300,"kind":"SequentialEdge"},{"sourceId":300,"destId":303,"kind":"SequentialEdge"},{"sourceId":303,"destId":309,"kind":"SequentialEdge"},{"sourceId":309,"destId":312,"kind":"SequentialEdge"}],"descriptions":[{"nodeId":0,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":1,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":2,"description":{"expressions":["\"a\""],"state":{"heap":"monolith","type":{"this":["main*"]},"value":"#TOP#"}}},{"nodeId":3,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":4,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":5,"description":{"expressions":["\"b\""],"state":{"heap":"monolith","type":{"k":["string"],"this":["main*"]},"value":{"k":"_"}}}},{"nodeId":6,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":7,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":8,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':14:22"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":["string"],"j":["string"],"k":["string"],"this":["main*"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':14:22":"#","j":"_","k":"_"}}}},{"nodeId":9,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"]},"value":{"j":"_","k":"_"}}}},{"nodeId":10,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":11,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":12,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":13,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":14,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":15,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":16,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":17,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":18,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":19,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":20,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#","v":"#"}}}},{"nodeId":21,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":22,"description":{"expressions":["call_ret_value@'imp-testcases/taint/taint.imp':20:19"],"state":{"heap":"monolith","type":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":["string"],"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"call_ret_value@'imp-testcases/taint/taint.imp':20:19":"#","j":"_","k":"_","v":"#"}}}},{"nodeId":23,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"_","v":"#"}}}},{"nodeId":24,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":25,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":26,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":27,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":28,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":29,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":30,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":31,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":32,"description":{"expressions":["strlen v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":33,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","v":"#"}}}},{"nodeId":34,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":35,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":36,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":37,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":38,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":39,"description":{"expressions":["strlen k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":40,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":41,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":42,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":43,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":44,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":45,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":46,"description":{"expressions":["strlen j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":47,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":48,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":49,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":50,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":51,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":52,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":53,"description":{"expressions":["k strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":54,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":55,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["int32"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":56,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":57,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":58,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":59,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":60,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":61,"description":{"expressions":["k strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":62,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":63,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":64,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":65,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":66,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":67,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":68,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":69,"description":{"expressions":["k strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":70,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":71,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":72,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":73,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":74,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":75,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":76,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":77,"description":{"expressions":["v strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":78,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":79,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":80,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":81,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":82,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":83,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":84,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":85,"description":{"expressions":["v strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":86,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":87,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":88,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":89,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":90,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":91,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":92,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":93,"description":{"expressions":["j strcat j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":94,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":95,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":96,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":97,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":98,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":99,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":100,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":101,"description":{"expressions":["v strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":102,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":103,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":104,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":105,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":106,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":107,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":108,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":109,"description":{"expressions":["j strcat k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":110,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":111,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":112,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":113,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":114,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":115,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":116,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":117,"description":{"expressions":["j strcat v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":118,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":119,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":120,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":121,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":122,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":123,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":124,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":125,"description":{"expressions":["k strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":126,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":127,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":128,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":129,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":130,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":131,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":132,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":133,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":134,"description":{"expressions":["k strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":135,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":136,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":137,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":138,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":139,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":140,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":141,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":142,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":143,"description":{"expressions":["k strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":144,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":145,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":146,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":147,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":148,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":149,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":150,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":151,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":152,"description":{"expressions":["k strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":153,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":154,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":155,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":156,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":157,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":158,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":159,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":160,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":161,"description":{"expressions":["v strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":162,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":163,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":164,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":165,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":166,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":167,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":168,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":169,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":170,"description":{"expressions":["v strreplace(k, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":171,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":172,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":173,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":174,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":175,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":176,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":177,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":178,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":179,"description":{"expressions":["v strreplace(v, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":180,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":181,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":182,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":183,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":184,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":185,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":186,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":187,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":188,"description":{"expressions":["v strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":189,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":190,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":191,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":192,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":193,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":194,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":195,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":196,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":197,"description":{"expressions":["k strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":198,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":199,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":200,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":201,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":202,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":203,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":204,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":205,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":206,"description":{"expressions":["k strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":207,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":208,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":209,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":210,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":211,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":212,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":213,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":214,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":215,"description":{"expressions":["k strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":216,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":217,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":218,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":219,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":220,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":221,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":222,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":223,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":224,"description":{"expressions":["j strreplace(k, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":225,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":226,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":227,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":228,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":229,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":230,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":231,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":232,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":233,"description":{"expressions":["j strreplace(k, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":234,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":235,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":236,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":237,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":238,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":239,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":240,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":241,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":242,"description":{"expressions":["j strreplace(j, k)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":243,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":244,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":245,"description":{"expressions":["k"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":246,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":247,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":248,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":249,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":250,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":251,"description":{"expressions":["j strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":252,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":253,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":254,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#TOP#","v":"#"}}}},{"nodeId":255,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":256,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":257,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":258,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":259,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":260,"description":{"expressions":["v strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":261,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":262,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":263,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"_","v":"#"}}}},{"nodeId":264,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":265,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":266,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":267,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":268,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":269,"description":{"expressions":["v strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":270,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":271,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":272,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":273,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":274,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":275,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":276,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":277,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":278,"description":{"expressions":["v strreplace(j, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":279,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":280,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":281,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":282,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":283,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":284,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":285,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":286,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":287,"description":{"expressions":["j strreplace(v, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":288,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":289,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":290,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":291,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":292,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":293,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":294,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":295,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":296,"description":{"expressions":["j strreplace(v, j)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":297,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":298,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":299,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":300,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":301,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":302,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":303,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":304,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":305,"description":{"expressions":["j strreplace(j, v)"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":306,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":307,"description":{"expressions":["j"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":308,"description":{"expressions":["v"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":309,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":310,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":311,"description":{"expressions":["r"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}},{"nodeId":312,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"j":["string"],"k":["string"],"r":["string"],"this":["main*"],"v":["string"]},"value":{"j":"_","k":"#TOP#","r":"#","v":"#"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1833522976.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455120.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1833522976.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455120.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1834446497.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455151.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1834446497.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455151.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1835370018.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455182.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1835370018.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455182.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1859381564.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455337.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1859381564.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455337.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1860305085.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455368.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1860305085.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455368.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1863999169.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455492.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1863999169.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455492.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1865846211.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455554.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1865846211.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455554.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1887087194.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455616.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1887087194.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455616.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1890781278.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455740.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1890781278.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455740.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1892628320.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455802.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1892628320.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455802.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1894475362.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455864.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1894475362.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455864.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1915716345.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455926.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1915716345.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455926.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1917563387.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455988.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1917563387.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997455988.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1919410429.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456050.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1919410429.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456050.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1921257471.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456112.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1921257471.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456112.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1923104513.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456174.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1923104513.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456174.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1944345496.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456236.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1944345496.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456236.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1948039580.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456360.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1948039580.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456360.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1949886622.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456422.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1949886622.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456422.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1951733664.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456484.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1951733664.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456484.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1972974647.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456546.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1972974647.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456546.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1974821689.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456608.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1974821689.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456608.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1976668731.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456670.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1976668731.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456670.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1978515773.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456732.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1978515773.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456732.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1980362815.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456794.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1980362815.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456794.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2001603798.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456856.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2001603798.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456856.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2003450840.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456918.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2003450840.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456918.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2005297882.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456980.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2005297882.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997456980.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2007144924.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457042.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2007144924.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457042.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2008991966.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457104.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2008991966.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457104.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2030232949.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457166.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2030232949.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457166.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2032079991.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457228.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2032079991.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457228.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2033927033.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457290.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2033927033.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457290.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2035774075.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457352.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2035774075.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457352.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2037621117.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457414.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2037621117.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457414.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2058862100.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457476.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2058862100.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457476.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2060709142.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457538.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2060709142.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457538.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2062556184.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457600.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_2062556184.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.sink(main__this,_untyped_v)_1997457600.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1857534708.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1997461041.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1857534708.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1997461041.json diff --git a/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1832600385.json b/lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1997463738.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1832600385.json rename to lisa/lisa-analyses/imp-testcases/taint/3val/untyped_main.source(main__this)_1997463738.json diff --git a/lisa/lisa-analyses/imp-testcases/tarsis/report.json b/lisa/lisa-analyses/imp-testcases/tarsis/report.json index 3f1976e1b..88a1eccbc 100644 --- a/lisa/lisa-analyses/imp-testcases/tarsis/report.json +++ b/lisa/lisa-analyses/imp-testcases/tarsis/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tarsis.branching(tarsis__this,_untyped_x).json", "untyped_tarsis.constants(tarsis__this).json", "untyped_tarsis.loops(tarsis__this,_untyped_x).json" ], "info" : { "cfgs" : "3", - "duration" : "160ms", - "end" : "2023-03-16T22:40:06.222+01:00", + "duration" : "162ms", + "end" : "2023-04-20T12:45:40.808+02:00", "expressions" : "20", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:06.062+01:00", + "start" : "2023-04-20T12:45:40.646+02:00", "statements" : "12", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/traces/report.json b/lisa/lisa-analyses/imp-testcases/traces/report.json index 6e613e426..3a5f83b84 100644 --- a/lisa/lisa-analyses/imp-testcases/traces/report.json +++ b/lisa/lisa-analyses/imp-testcases/traces/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_tutorial.branching1(tutorial__this,_untyped_b).json", "untyped_tutorial.branching2(tutorial__this,_untyped_b).json", "untyped_tutorial.loop0(tutorial__this).json", "untyped_tutorial.loop2(tutorial__this).json", "untyped_tutorial.loopN(tutorial__this,_untyped_b).json", "untyped_tutorial.nesting(tutorial__this,_untyped_b).json", "untyped_tutorial.sequential(tutorial__this).json" ], "info" : { "cfgs" : "7", - "duration" : "747ms", - "end" : "2023-03-17T19:22:28.910+01:00", + "duration" : "345ms", + "end" : "2023-04-20T12:45:45.736+02:00", "expressions" : "69", "files" : "7", "globals" : "0", "members" : "7", "programs" : "1", - "start" : "2023-03-17T19:22:28.163+01:00", + "start" : "2023-04-20T12:45:45.391+02:00", "statements" : "32", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/type-inference/report.json b/lisa/lisa-analyses/imp-testcases/type-inference/report.json index ab2020143..b0d5f06e9 100644 --- a/lisa/lisa-analyses/imp-testcases/type-inference/report.json +++ b/lisa/lisa-analyses/imp-testcases/type-inference/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_typing.test1(typing__this).json", "untyped_typing.test2(typing__this,_untyped_i).json", "untyped_typing.test3(typing__this,_untyped_i).json", "untyped_typing.test4(typing__this,_untyped_i).json", "untyped_typing.test5(typing__this,_untyped_i).json", "untyped_typing.test6(typing__this,_untyped_i).json", "untyped_typing.test7(typing__this).json" ], "info" : { "cfgs" : "7", - "duration" : "908ms", - "end" : "2023-03-17T11:41:43.920+01:00", + "duration" : "100ms", + "end" : "2023-04-20T12:45:46.649+02:00", "expressions" : "68", "files" : "7", "globals" : "0", "members" : "7", "programs" : "1", - "start" : "2023-03-17T11:41:43.012+01:00", + "start" : "2023-04-20T12:45:46.549+02:00", "statements" : "32", "units" : "1", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "true", diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/report.json b/lisa/lisa-analyses/imp-testcases/visualization/dot/report.json index a82d0dfb6..3c6352523 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.A(A__this)_354460623.dot", "untyped_A.getOne(A__this)_984360566.dot", "untyped_A.getPositive(A__this,_untyped_i)_984361527.dot", "untyped_A.identity(A__this,_untyped_i)_1012965692.dot", "untyped_A.identity(A__this,_untyped_i)_1070248980.dot", "untyped_A.identity(A__this,_untyped_i)_1726458834.dot", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.dot", "untyped_tests.main(tests__this).dot" ], + "files" : [ "report.json", "untyped_A.A(A__this)_845473647.dot", "untyped_A.getOne(A__this)_845491937.dot", "untyped_A.getPositive(A__this,_untyped_i)_845492898.dot", "untyped_A.identity(A__this,_untyped_i)_1285788509.dot", "untyped_A.identity(A__this,_untyped_i)_845488124.dot", "untyped_A.identity(A__this,_untyped_i)_845492991.dot", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.dot", "untyped_tests.main(tests__this).dot" ], "info" : { "cfgs" : "6", - "duration" : "204ms", - "end" : "2023-03-16T22:40:07.951+01:00", + "duration" : "218ms", + "end" : "2023-04-20T12:45:48.024+02:00", "expressions" : "49", "files" : "8", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:07.747+01:00", + "start" : "2023-04-20T12:45:47.806+02:00", "statements" : "21", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "false", diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_354460623.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_354460623.dot deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_354460623.dot +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_845473647.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_845473647.dot new file mode 100644 index 000000000..c55ea0d60 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_845473647.dot @@ -0,0 +1,14 @@ +digraph { + labelloc="t"; + label="untyped A::A(A* this)"; + "node0" [shape="rect",color="black",label=
{ expressions: [i1],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*],
['imp-testcases/visualization/program.imp':29:22]:this: [tests*],
i1: [int32],
this: [A] },
value: { i1: [0, 0] }
}
}
>]; + "node3" [shape="rect",color="black",peripheries="2",label=
{ expressions: [skip],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*],
['imp-testcases/visualization/program.imp':29:22]:this: [tests*],
i1: [int32],
this: [A] },
value: { i1: [0, 0] }
}
}
>]; + "node0" -> "node3" [color="black"]; +subgraph cluster_legend { + label="Legend"; + style=dotted; + node [shape=plaintext]; + "legend" [label=<
node border gray, single
entrypoint border black, single
exitpoint border black, double
sequential edge black, solid
true edge blue, dashed
false edge red, dashed
>]; +} + +} diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_845491937.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_845491937.dot new file mode 100644 index 000000000..63d343b39 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_845491937.dot @@ -0,0 +1,21 @@ +digraph { + labelloc="t"; + label="untyped A::getOne(A* this)"; + "node0" [shape="rect",color="black",label=
{ expressions: [rec],
state: { heap: monolith,
type: { heap[w]:heap: [tests],
rec: [tests*] },
value: #TOP# }
}
>]; + "node3" [shape="rect",color="gray",label=
{ expressions: [x],
state: { heap: monolith,
type: { x: #TOP# },
value: { x: [-Inf, +Inf] }
}
}
>]; + "node7" [shape="rect",color="gray",label=<<(x, 10)

{ expressions: [x < 10],
state: { heap: monolith,
type: { x: #TOP# },
value: { x: [-Inf, +Inf] }
}
}
>]; + "node10" [shape="rect",color="gray",label=
{ expressions: [x],
state: { heap: monolith,
type: { x: [float32, int32] },
value: { x: [-Inf, 10] }
}
}
>]; + "node15" [shape="rect",color="black",peripheries="2",label=
{ expressions: [ret_value@getOne],
state: { heap: monolith,
type: { ret_value@getOne: [int32],
x: #TOP# },
value: { ret_value@getOne: [1, 1],
x: [10, +Inf] }
}
}
>]; + "node0" -> "node3" [color="black"]; + "node3" -> "node7" [color="black"]; + "node7" -> "node10" [color="blue",style="dashed"]; + "node7" -> "node15" [color="red",style="dashed"]; + "node10" -> "node7" [color="black"]; +subgraph cluster_legend { + label="Legend"; + style=dotted; + node [shape=plaintext]; + "legend" [label=<
node border gray, single
entrypoint border black, single
exitpoint border black, double
sequential edge black, solid
true edge blue, dashed
false edge red, dashed
>]; +} + +} diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_984360566.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_984360566.dot deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_984360566.dot +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_845492898.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_845492898.dot new file mode 100644 index 000000000..76ccc5251 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_845492898.dot @@ -0,0 +1,19 @@ +digraph { + labelloc="t"; + label="untyped A::getPositive(A* this, untyped i)"; + "node0" [shape="rect",color="black",label=<<=(i, 0)

{ expressions: [i <= 0],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32],
i: [int32],
this: [A*] },
value: { ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1],
i: [1, 1] }
}
}
>]; + "node3" [shape="rect",color="gray",label=
{ expressions: [i],
state: { heap: monolith,
type: _|_,
value: _|_ }
}
>]; + "node6" [shape="rect",color="gray",label=
{ expressions: [i],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32],
i: [int32],
this: [A*] },
value: { ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1],
i: [10, 10] }
}
}
>]; + "node9" [shape="rect",color="black",peripheries="2",label=
{ expressions: [ret_value@getPositive],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32],
i: [int32],
ret_value@getPositive: [int32],
this: [A*] },
value: { ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1],
i: [10, 10],
ret_value@getPositive: [10, 10] }
}
}
>]; + "node0" -> "node3" [color="blue",style="dashed"]; + "node0" -> "node6" [color="red",style="dashed"]; + "node3" -> "node9" [color="black"]; + "node6" -> "node9" [color="black"]; +subgraph cluster_legend { + label="Legend"; + style=dotted; + node [shape=plaintext]; + "legend" [label=<
node border gray, single
entrypoint border black, single
exitpoint border black, double
sequential edge black, solid
true edge blue, dashed
false edge red, dashed
>]; +} + +} diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_984361527.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_984361527.dot deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_984361527.dot +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1012965692.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1012965692.dot deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1012965692.dot +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1070248980.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1070248980.dot deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1070248980.dot +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1285788509.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1285788509.dot new file mode 100644 index 000000000..e721cd275 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1285788509.dot @@ -0,0 +1,14 @@ +digraph { + labelloc="t"; + label="untyped A::identity(A* this, untyped i)"; + "node0" [shape="rect",color="black",label=
{ expressions: [i3],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32],
['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#,
['imp-testcases/visualization/program.imp':38:36]:i: [int32],
['imp-testcases/visualization/program.imp':38:36]:this: #TOP#,
i: [int32],
i3: [int32],
this: #TOP# },
value: { ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10],
['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_,
['imp-testcases/visualization/program.imp':38:36]:i: [10, 10],
['imp-testcases/visualization/program.imp':38:36]:this: _|_,
i: [10, 10],
i3: [1, 1],
this: _|_ }
}
}
>]; + "node3" [shape="rect",color="black",peripheries="2",label=
{ expressions: [ret_value@identity],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32],
['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#,
['imp-testcases/visualization/program.imp':38:36]:i: [int32],
['imp-testcases/visualization/program.imp':38:36]:this: #TOP#,
i: [int32],
i3: [int32],
ret_value@identity: [int32],
this: #TOP# },
value: { ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10],
['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10],
['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_,
['imp-testcases/visualization/program.imp':38:36]:i: [10, 10],
['imp-testcases/visualization/program.imp':38:36]:this: _|_,
i: [10, 10],
i3: [1, 1],
ret_value@identity: [10, 10],
this: _|_ }
}
}
>]; + "node0" -> "node3" [color="black"]; +subgraph cluster_legend { + label="Legend"; + style=dotted; + node [shape=plaintext]; + "legend" [label=<
node border gray, single
entrypoint border black, single
exitpoint border black, double
sequential edge black, solid
true edge blue, dashed
false edge red, dashed
>]; +} + +} diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1726458834.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1726458834.dot deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1726458834.dot +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845488124.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845488124.dot new file mode 100644 index 000000000..ae231e0b5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845488124.dot @@ -0,0 +1,14 @@ +digraph { + labelloc="t"; + label="untyped A::identity(A* this, untyped i)"; + "node0" [shape="rect",color="black",label=
{ expressions: [i3],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':31:37]:one: [int32],
i: [int32],
i3: [int32],
this: #TOP# },
value: { ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10],
i: [10, 10],
i3: [1, 1],
this: _|_ }
}
}
>]; + "node3" [shape="rect",color="black",peripheries="2",label=
{ expressions: [ret_value@identity],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':31:37]:one: [int32],
i: [int32],
i3: [int32],
ret_value@identity: [int32],
this: #TOP# },
value: { ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10],
i: [10, 10],
i3: [1, 1],
ret_value@identity: [10, 10],
this: _|_ }
}
}
>]; + "node0" -> "node3" [color="black"]; +subgraph cluster_legend { + label="Legend"; + style=dotted; + node [shape=plaintext]; + "legend" [label=<
node border gray, single
entrypoint border black, single
exitpoint border black, double
sequential edge black, solid
true edge blue, dashed
false edge red, dashed
>]; +} + +} diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845492991.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845492991.dot new file mode 100644 index 000000000..6714f01c3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845492991.dot @@ -0,0 +1,14 @@ +digraph { + labelloc="t"; + label="untyped A::identity(A* this, untyped i)"; + "node0" [shape="rect",color="black",label=
{ expressions: [i3],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32],
['imp-testcases/visualization/program.imp':33:42]:one: [int32],
['imp-testcases/visualization/program.imp':33:42]:positive: [int32],
i: [int32],
i3: [int32],
this: #TOP# },
value: { ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1],
['imp-testcases/visualization/program.imp':33:42]:one: [10, 10],
['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10],
i: [-1, -1],
i3: [1, 1],
this: _|_ }
}
}
>]; + "node3" [shape="rect",color="black",peripheries="2",label=
{ expressions: [ret_value@identity],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32],
['imp-testcases/visualization/program.imp':33:42]:one: [int32],
['imp-testcases/visualization/program.imp':33:42]:positive: [int32],
i: [int32],
i3: [int32],
ret_value@identity: [int32],
this: #TOP# },
value: { ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1],
['imp-testcases/visualization/program.imp':33:42]:one: [10, 10],
['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10],
i: [-1, -1],
i3: [1, 1],
ret_value@identity: [-1, -1],
this: _|_ }
}
}
>]; + "node0" -> "node3" [color="black"]; +subgraph cluster_legend { + label="Legend"; + style=dotted; + node [shape=plaintext]; + "legend" [label=<
node border gray, single
entrypoint border black, single
exitpoint border black, double
sequential edge black, solid
true edge blue, dashed
false edge red, dashed
>]; +} + +} diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.dot deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.dot +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.dot b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.dot new file mode 100644 index 000000000..fa2f049ad --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.dot @@ -0,0 +1,12 @@ +digraph { + labelloc="t"; + label="untyped tests::helper(tests* this, untyped i, untyped dispatcher)"; + "node0" [shape="rect",color="black",peripheries="2",label=
{ expressions: [ret_value@helper],
state: { heap: monolith,
type: { ['imp-testcases/visualization/program.imp':34:36]:minusone: [int32],
['imp-testcases/visualization/program.imp':34:36]:negative: [int32],
['imp-testcases/visualization/program.imp':34:36]:one: [int32],
['imp-testcases/visualization/program.imp':34:36]:positive: [int32],
dispatcher: #TOP#,
i: [int32],
ret_value@helper: [int32],
this: #TOP# },
value: { ['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1],
['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1],
['imp-testcases/visualization/program.imp':34:36]:one: [10, 10],
['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10],
dispatcher: _|_,
i: [10, 10],
ret_value@helper: [10, 10],
this: _|_ }
}
}
>]; +subgraph cluster_legend { + label="Legend"; + style=dotted; + node [shape=plaintext]; + "legend" [label=<
node border gray, single
entrypoint border black, single
exitpoint border black, double
sequential edge black, solid
true edge blue, dashed
false edge red, dashed
>]; +} + +} diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/report.json b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/report.json index b4d41e501..4e9277e2b 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.A(A__this)_354460623.graphml", "untyped_A.getOne(A__this)_984360566.graphml", "untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml", "untyped_A.identity(A__this,_untyped_i)_1012965692.graphml", "untyped_A.identity(A__this,_untyped_i)_1070248980.graphml", "untyped_A.identity(A__this,_untyped_i)_1726458834.graphml", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml", "untyped_tests.main(tests__this).graphml" ], + "files" : [ "report.json", "untyped_A.A(A__this)_845473647.graphml", "untyped_A.getOne(A__this)_845491937.graphml", "untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml", "untyped_A.identity(A__this,_untyped_i)_1285788509.graphml", "untyped_A.identity(A__this,_untyped_i)_845488124.graphml", "untyped_A.identity(A__this,_untyped_i)_845492991.graphml", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml", "untyped_tests.main(tests__this).graphml" ], "info" : { "cfgs" : "6", - "duration" : "369ms", - "end" : "2023-03-16T22:40:07.682+01:00", + "duration" : "444ms", + "end" : "2023-04-20T12:45:47.321+02:00", "expressions" : "49", "files" : "8", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:07.313+01:00", + "start" : "2023-04-20T12:45:46.877+02:00", "statements" : "21", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "false", diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_354460623.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_354460623.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_354460623.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_845473647.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_845473647.graphml new file mode 100644 index 000000000..c035867ff --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_845473647.graphml @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + [i1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [A*] + + + ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver + + + + + [tests*] + + + ['imp-testcases/visualization/program.imp':29:22]:this + + + + + [int32] + + + i1 + + + + + [A] + + + this + + + type + + + + + + + [0, 0] + + + i1 + + + value + + + state + + + DESCRIPTION + + + yes + i1 = 0 + no + + + + + + + + + [0] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [A*] + + + ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver + + + + + [tests*] + + + ['imp-testcases/visualization/program.imp':29:22]:this + + + + + [A] + + + this + + + type + + + + + #TOP# + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 0 + no + + + + + + + + + + + [i1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [A*] + + + ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver + + + + + [tests*] + + + ['imp-testcases/visualization/program.imp':29:22]:this + + + + + [A] + + + this + + + type + + + + + #TOP# + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i1 + no + + + + + + + + + + + [skip] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [A*] + + + ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver + + + + + [tests*] + + + ['imp-testcases/visualization/program.imp':29:22]:this + + + + + [int32] + + + i1 + + + + + [A] + + + this + + + type + + + + + + + [0, 0] + + + i1 + + + value + + + state + + + DESCRIPTION + + + no + ret + yes + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_845491937.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_845491937.graphml new file mode 100644 index 000000000..7c3e493bb --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_845491937.graphml @@ -0,0 +1,1080 @@ + + + + + + + + + + + + + + + + + [rec] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [tests] + + + heap[w]:heap + + + + + [tests*] + + + rec + + + type + + + + + #TOP# + + + value + + + state + + + DESCRIPTION + + + yes + rec = new tests() + no + + + + + + + + + [rec] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [tests] + + + heap[w]:heap + + + type + + + + + #TOP# + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + rec + no + + + + + + + + + + + [ref$new tests] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [tests] + + + heap[w]:heap + + + type + + + + + #TOP# + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + new tests() + no + + + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [float32, int32] + + + x + + + type + + + + + + + [-Inf, 10] + + + x + + + value + + + state + + + DESCRIPTION + + + no + x = +(x, 1) + no + + + + + + + + + [x + 1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, 9] + + + x + + + value + + + state + + + DESCRIPTION + + + +(x, 1) + SUBNODE + no + no + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, 9] + + + x + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + x + no + + + + + + + + + + + [1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, 9] + + + x + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 1 + no + + + + + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, 9] + + + x + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + x + no + + + + + + + + + + + [ret_value@getOne] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ret_value@getOne + + + + + #TOP# + + + x + + + type + + + + + + + [1, 1] + + + ret_value@getOne + + + + + [10, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + no + return 1 + yes + + + + + + + + + [1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [10, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 1 + no + + + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + no + x = open(rec) + no + + + + + + + + + [open_call_ret_value@'imp-testcases/visualization/program.imp':7:22] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + open_call_ret_value@'imp-testcases/visualization/program.imp':7:22 + + + type + + + + + + + [-Inf, +Inf] + + + open_call_ret_value@'imp-testcases/visualization/program.imp':7:22 + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + open(rec) + no + + + + + + + + + [rec] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [tests] + + + heap[w]:heap + + + + + [tests*] + + + rec + + + type + + + + + #TOP# + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + rec + no + + + + + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + open_call_ret_value@'imp-testcases/visualization/program.imp':7:22 + + + type + + + + + + + [-Inf, +Inf] + + + open_call_ret_value@'imp-testcases/visualization/program.imp':7:22 + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + x + no + + + + + + + + + + + [x < 10] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + no + <(x, 10) + no + + + + + + + + + [10] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 10 + no + + + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + x + no + + + + + SequentialEdge + + + SequentialEdge + + + TrueEdge + + + FalseEdge + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_984360566.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_984360566.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_984360566.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml new file mode 100644 index 000000000..b4f1a2c43 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml @@ -0,0 +1,874 @@ + + + + + + + + + + + + + + + + + [i <= 0] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [1, 1] + + + i + + + value + + + state + + + DESCRIPTION + + + yes + <=(i, 0) + no + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [1, 1] + + + i + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + + + + + + + [0] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [1, 1] + + + i + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 0 + no + + + + + + + + + + + [ret_value@getPositive] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [int32] + + + ret_value@getPositive + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [10, 10] + + + i + + + + + [10, 10] + + + ret_value@getPositive + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [10, 10] + + + i + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [10, 10] + + + i + + + value + + + state + + + DESCRIPTION + + + no + i = 10 + no + + + + + + + + + [10] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [1, 1] + + + i + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 10 + no + + + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [1, 1] + + + i + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + _|_ + + + type + + + + + _|_ + + + value + + + state + + + DESCRIPTION + + + no + i = 1 + no + + + + + + + + + [1] + + + expressions + + + + + + + monolith + + + heap + + + + + _|_ + + + type + + + + + _|_ + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 1 + no + + + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + _|_ + + + type + + + + + _|_ + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + TrueEdge + + + FalseEdge + + + SequentialEdge + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml new file mode 100644 index 000000000..e6b3473e3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml @@ -0,0 +1,1025 @@ + + + + + + + + + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + i3 = 1 + no + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [10, 10] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i3 + no + + + + + + + + + + + [1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [10, 10] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 1 + no + + + + + + + + + + + [ret_value@identity] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + [int32] + + + ret_value@identity + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + [10, 10] + + + ret_value@identity + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845488124.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845488124.graphml new file mode 100644 index 000000000..d6d570581 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845488124.graphml @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + i3 = 1 + no + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [10, 10] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i3 + no + + + + + + + + + + + [1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [10, 10] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 1 + no + + + + + + + + + + + [ret_value@identity] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + [int32] + + + ret_value@identity + + + + + #TOP# + + + this + + + type + + + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + [10, 10] + + + ret_value@identity + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845492991.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845492991.graphml new file mode 100644 index 000000000..a09593bfd --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845492991.graphml @@ -0,0 +1,705 @@ + + + + + + + + + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [-1, -1] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + i3 = 1 + no + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [-1, -1] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i3 + no + + + + + + + + + + + [1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [-1, -1] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + 1 + no + + + + + + + + + + + [ret_value@identity] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + [int32] + + + ret_value@identity + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [-1, -1] + + + i + + + + + [1, 1] + + + i3 + + + + + [-1, -1] + + + ret_value@identity + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [-1, -1] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml new file mode 100644 index 000000000..e58e04896 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml @@ -0,0 +1,674 @@ + + + + + + + + + + + + + + + + [ret_value@helper] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + dispatcher + + + + + [int32] + + + i + + + + + [int32] + + + ret_value@helper + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + dispatcher + + + + + [10, 10] + + + i + + + + + [10, 10] + + + ret_value@helper + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + return identity(dispatcher, i) + yes + + + + + + + + + [call_ret_value@'imp-testcases/visualization/program.imp':38:36] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + [int32] + + + call_ret_value@'imp-testcases/visualization/program.imp':38:36 + + + + + #TOP# + + + dispatcher + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + [10, 10] + + + call_ret_value@'imp-testcases/visualization/program.imp':38:36 + + + + + _|_ + + + dispatcher + + + + + [10, 10] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + identity(dispatcher, i) + SUBNODE + no + no + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + dispatcher + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + dispatcher + + + + + [10, 10] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + i + no + + + + + + + + + + + [dispatcher] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + dispatcher + + + + + [int32] + + + i + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + dispatcher + + + + + [10, 10] + + + i + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + SUBNODE + no + dispatcher + no + + + + + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/report.json b/lisa/lisa-analyses/imp-testcases/visualization/graphml/report.json index c0db3a31f..2ec3276ed 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_A.A(A__this)_354460623.graphml", "untyped_A.getOne(A__this)_984360566.graphml", "untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml", "untyped_A.identity(A__this,_untyped_i)_1012965692.graphml", "untyped_A.identity(A__this,_untyped_i)_1070248980.graphml", "untyped_A.identity(A__this,_untyped_i)_1726458834.graphml", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml", "untyped_tests.main(tests__this).graphml" ], + "files" : [ "report.json", "untyped_A.A(A__this)_845473647.graphml", "untyped_A.getOne(A__this)_845491937.graphml", "untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml", "untyped_A.identity(A__this,_untyped_i)_1285788509.graphml", "untyped_A.identity(A__this,_untyped_i)_845488124.graphml", "untyped_A.identity(A__this,_untyped_i)_845492991.graphml", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml", "untyped_tests.main(tests__this).graphml" ], "info" : { "cfgs" : "6", - "duration" : "132ms", - "end" : "2023-03-16T22:40:08.560+01:00", + "duration" : "139ms", + "end" : "2023-04-20T12:45:49.881+02:00", "expressions" : "49", "files" : "8", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:08.428+01:00", + "start" : "2023-04-20T12:45:49.742+02:00", "statements" : "21", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "false", diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_354460623.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_354460623.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_354460623.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_845473647.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_845473647.graphml new file mode 100644 index 000000000..df8186b63 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_845473647.graphml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + [i1] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [A*] + + + ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver + + + + + [tests*] + + + ['imp-testcases/visualization/program.imp':29:22]:this + + + + + [int32] + + + i1 + + + + + [A] + + + this + + + type + + + + + + + [0, 0] + + + i1 + + + value + + + state + + + DESCRIPTION + + + yes + i1 = 0 + no + + + + + + + + + [skip] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [A*] + + + ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver + + + + + [tests*] + + + ['imp-testcases/visualization/program.imp':29:22]:this + + + + + [int32] + + + i1 + + + + + [A] + + + this + + + type + + + + + + + [0, 0] + + + i1 + + + value + + + state + + + DESCRIPTION + + + no + ret + yes + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_845491937.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_845491937.graphml new file mode 100644 index 000000000..f3b0e3fdb --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_845491937.graphml @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + [rec] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [tests] + + + heap[w]:heap + + + + + [tests*] + + + rec + + + type + + + + + #TOP# + + + value + + + state + + + DESCRIPTION + + + yes + rec = new tests() + no + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + no + x = open(rec) + no + + + + + + + + + [x < 10] + + + expressions + + + + + + + monolith + + + heap + + + + + + + #TOP# + + + x + + + type + + + + + + + [-Inf, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + no + <(x, 10) + no + + + + + + + + + [x] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [float32, int32] + + + x + + + type + + + + + + + [-Inf, 10] + + + x + + + value + + + state + + + DESCRIPTION + + + no + x = +(x, 1) + no + + + + + + + + + [ret_value@getOne] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ret_value@getOne + + + + + #TOP# + + + x + + + type + + + + + + + [1, 1] + + + ret_value@getOne + + + + + [10, +Inf] + + + x + + + value + + + state + + + DESCRIPTION + + + no + return 1 + yes + + + SequentialEdge + + + SequentialEdge + + + TrueEdge + + + FalseEdge + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_984360566.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_984360566.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_984360566.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml new file mode 100644 index 000000000..75c4635bb --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + [i <= 0] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [1, 1] + + + i + + + value + + + state + + + DESCRIPTION + + + yes + <=(i, 0) + no + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + _|_ + + + type + + + + + _|_ + + + value + + + state + + + DESCRIPTION + + + no + i = 1 + no + + + + + + + + + [i] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [10, 10] + + + i + + + value + + + state + + + DESCRIPTION + + + no + i = 10 + no + + + + + + + + + [ret_value@getPositive] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [int32] + + + i + + + + + [int32] + + + ret_value@getPositive + + + + + [A*] + + + this + + + type + + + + + + + [1, 1] + + + ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41 + + + + + [10, 10] + + + i + + + + + [10, 10] + + + ret_value@getPositive + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + TrueEdge + + + FalseEdge + + + SequentialEdge + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml new file mode 100644 index 000000000..845222467 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml @@ -0,0 +1,439 @@ + + + + + + + + + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + i3 = 1 + no + + + + + + + + + [ret_value@identity] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + #TOP# + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + [int32] + + + ret_value@identity + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:dispatcher + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':38:36]:i + + + + + _|_ + + + ['imp-testcases/visualization/program.imp':38:36]:this + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + [10, 10] + + + ret_value@identity + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845488124.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845488124.graphml new file mode 100644 index 000000000..2b2f2fbce --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845488124.graphml @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + i3 = 1 + no + + + + + + + + + [ret_value@identity] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + [int32] + + + ret_value@identity + + + + + #TOP# + + + this + + + type + + + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':31:37]:one + + + + + [10, 10] + + + i + + + + + [1, 1] + + + i3 + + + + + [10, 10] + + + ret_value@identity + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845492991.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845492991.graphml new file mode 100644 index 000000000..51a56b360 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845492991.graphml @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + [i3] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [-1, -1] + + + i + + + + + [1, 1] + + + i3 + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + i3 = 1 + no + + + + + + + + + [ret_value@identity] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [int32] + + + i + + + + + [int32] + + + i3 + + + + + [int32] + + + ret_value@identity + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':33:42]:minusone + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':33:42]:positive + + + + + [-1, -1] + + + i + + + + + [1, 1] + + + i3 + + + + + [-1, -1] + + + ret_value@identity + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + no + return i + yes + + + SequentialEdge + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml new file mode 100644 index 000000000..89d57afd5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + [ret_value@helper] + + + expressions + + + + + + + monolith + + + heap + + + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [int32] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + #TOP# + + + dispatcher + + + + + [int32] + + + i + + + + + [int32] + + + ret_value@helper + + + + + #TOP# + + + this + + + type + + + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:minusone + + + + + [-1, -1] + + + ['imp-testcases/visualization/program.imp':34:36]:negative + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:one + + + + + [10, 10] + + + ['imp-testcases/visualization/program.imp':34:36]:positive + + + + + _|_ + + + dispatcher + + + + + [10, 10] + + + i + + + + + [10, 10] + + + ret_value@helper + + + + + _|_ + + + this + + + value + + + state + + + DESCRIPTION + + + yes + return identity(dispatcher, i) + yes + + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/report.json b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/report.json index f5f4fcac7..0f49c18ac 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "js/cose-base.js", "js/cytoscape-3.21.1.min.js", "js/cytoscape-expand-collapse.js", "js/cytoscape-fcose.js", "js/cytoscape-graphml-1.0.6-hier.js", "js/jquery-3.0.0.min.js", "js/layout-base.js", "report.json", "untyped_A.A(A__this)_354460623.html", "untyped_A.getOne(A__this)_984360566.html", "untyped_A.getPositive(A__this,_untyped_i)_984361527.html", "untyped_A.identity(A__this,_untyped_i)_1012965692.html", "untyped_A.identity(A__this,_untyped_i)_1070248980.html", "untyped_A.identity(A__this,_untyped_i)_1726458834.html", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html", "untyped_tests.main(tests__this).html" ], + "files" : [ "js/cose-base.js", "js/cytoscape-3.21.1.min.js", "js/cytoscape-expand-collapse.js", "js/cytoscape-fcose.js", "js/cytoscape-graphml-1.0.6-hier.js", "js/jquery-3.0.0.min.js", "js/layout-base.js", "report.json", "untyped_A.A(A__this)_845473647.html", "untyped_A.getOne(A__this)_845491937.html", "untyped_A.getPositive(A__this,_untyped_i)_845492898.html", "untyped_A.identity(A__this,_untyped_i)_1285788509.html", "untyped_A.identity(A__this,_untyped_i)_845488124.html", "untyped_A.identity(A__this,_untyped_i)_845492991.html", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html", "untyped_tests.main(tests__this).html" ], "info" : { "cfgs" : "6", - "duration" : "427ms", - "end" : "2023-03-16T22:40:09.050+01:00", + "duration" : "483ms", + "end" : "2023-04-20T12:45:50.580+02:00", "expressions" : "49", "files" : "15", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:08.623+01:00", + "start" : "2023-04-20T12:45:50.097+02:00", "statements" : "21", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "false", diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_354460623.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_354460623.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_354460623.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_845473647.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_845473647.html new file mode 100644 index 000000000..01d48b1a8 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_845473647.html @@ -0,0 +1,390 @@ + + + untyped A::A(A* this) + + + + + + + + + + + + + + + + +

untyped A::A(A* this)

+

['imp-testcases/visualization/program.imp':29:22]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i1 = 0
+ expressions: [i1]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*]
+ ['imp-testcases/visualization/program.imp':29:22]:this: [tests*]
+ i1: [int32]
+ this: [A]
+
+ value:
+
+ i1: [0, 0]
+
+
+
+
+
Results for i1
+ expressions: [i1]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*]
+ ['imp-testcases/visualization/program.imp':29:22]:this: [tests*]
+ this: [A]
+
+ value: #TOP#
+
+
+
+
Results for 0
+ expressions: [0]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*]
+ ['imp-testcases/visualization/program.imp':29:22]:this: [tests*]
+ this: [A]
+
+ value: #TOP#
+
+
+
+
Results for ret
+ expressions: [skip]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*]
+ ['imp-testcases/visualization/program.imp':29:22]:this: [tests*]
+ i1: [int32]
+ this: [A]
+
+ value:
+
+ i1: [0, 0]
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_845491937.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_845491937.html new file mode 100644 index 000000000..6640591ff --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_845491937.html @@ -0,0 +1,586 @@ + + + untyped A::getOne(A* this) + + + + + + + + + + + + + + + + +

untyped A::getOne(A* this)

+

['imp-testcases/visualization/program.imp':30:41]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for rec = new tests()
+ expressions: [rec]
+ state:
+
+ heap: monolith
+ type:
+
+ heap[w]:heap: [tests]
+ rec: [tests*]
+
+ value: #TOP#
+
+
+
+
Results for rec
+ expressions: [rec]
+ state:
+
+ heap: monolith
+ type:
+
+ heap[w]:heap: [tests]
+
+ value: #TOP#
+
+
+
+
Results for new tests()
+ expressions: [ref$new tests]
+ state:
+
+ heap: monolith
+ type:
+
+ heap[w]:heap: [tests]
+
+ value: #TOP#
+
+
+
+
Results for x = open(rec)
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, +Inf]
+
+
+
+
+
Results for x
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ open_call_ret_value@'imp-testcases/visualization/program.imp':7:22: #TOP#
+
+ value:
+
+ open_call_ret_value@'imp-testcases/visualization/program.imp':7:22: [-Inf, +Inf]
+
+
+
+
+
Results for open(rec)
+ expressions: [open_call_ret_value@'imp-testcases/visualization/program.imp':7:22]
+ state:
+
+ heap: monolith
+ type:
+
+ open_call_ret_value@'imp-testcases/visualization/program.imp':7:22: #TOP#
+
+ value:
+
+ open_call_ret_value@'imp-testcases/visualization/program.imp':7:22: [-Inf, +Inf]
+
+
+
+
+
Results for rec
+ expressions: [rec]
+ state:
+
+ heap: monolith
+ type:
+
+ heap[w]:heap: [tests]
+ rec: [tests*]
+
+ value: #TOP#
+
+
+
+
Results for <(x, 10)
+ expressions: [x < 10]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, +Inf]
+
+
+
+
+
Results for x
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, +Inf]
+
+
+
+
+
Results for 10
+ expressions: [10]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, +Inf]
+
+
+
+
+
Results for x = +(x, 1)
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ x: [float32, int32]
+
+ value:
+
+ x: [-Inf, 10]
+
+
+
+
+
Results for x
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, 9]
+
+
+
+
+
Results for +(x, 1)
+ expressions: [x + 1]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, 9]
+
+
+
+
+
Results for x
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, 9]
+
+
+
+
+
Results for 1
+ expressions: [1]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, 9]
+
+
+
+
+
Results for return 1
+ expressions: [ret_value@getOne]
+ state:
+
+ heap: monolith
+ type:
+
+ ret_value@getOne: [int32]
+ x: #TOP#
+
+ value:
+
+ ret_value@getOne: [1, 1]
+ x: [10, +Inf]
+
+
+
+
+
Results for 1
+ expressions: [1]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [10, +Inf]
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_984360566.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_984360566.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_984360566.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.html new file mode 100644 index 000000000..8d2cc49e8 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.html @@ -0,0 +1,506 @@ + + + untyped A::getPositive(A* this, untyped i) + + + + + + + + + + + + + + + + +

untyped A::getPositive(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':30:42]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for <=(i, 0)
+ expressions: [i <= 0]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [1, 1]
+
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [1, 1]
+
+
+
+
+
Results for 0
+ expressions: [0]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [1, 1]
+
+
+
+
+
Results for i = 1
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type: _|_
+ value: _|_
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type: _|_
+ value: _|_
+
+
+
+
Results for 1
+ expressions: [1]
+ state:
+
+ heap: monolith
+ type: _|_
+ value: _|_
+
+
+
+
Results for i = 10
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [10, 10]
+
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [1, 1]
+
+
+
+
+
Results for 10
+ expressions: [10]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [1, 1]
+
+
+
+
+
Results for return i
+ expressions: [ret_value@getPositive]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ ret_value@getPositive: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [10, 10]
+ ret_value@getPositive: [10, 10]
+
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [10, 10]
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.html new file mode 100644 index 000000000..ecdf29d79 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.html @@ -0,0 +1,490 @@ + + + untyped A::identity(A* this, untyped i) + + + + + + + + + + + + + + + + +

untyped A::identity(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':34:36, 'imp-testcases/visualization/program.imp':38:36]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i3 = 1
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#
+ ['imp-testcases/visualization/program.imp':38:36]:i: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:this: #TOP#
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_
+ ['imp-testcases/visualization/program.imp':38:36]:i: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:this: _|_
+ i: [10, 10]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
Results for i3
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#
+ ['imp-testcases/visualization/program.imp':38:36]:i: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:this: #TOP#
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_
+ ['imp-testcases/visualization/program.imp':38:36]:i: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:this: _|_
+ i: [10, 10]
+ this: _|_
+
+
+
+
+
Results for 1
+ expressions: [1]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#
+ ['imp-testcases/visualization/program.imp':38:36]:i: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:this: #TOP#
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_
+ ['imp-testcases/visualization/program.imp':38:36]:i: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:this: _|_
+ i: [10, 10]
+ this: _|_
+
+
+
+
+
Results for return i
+ expressions: [ret_value@identity]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#
+ ['imp-testcases/visualization/program.imp':38:36]:i: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:this: #TOP#
+ i: [int32]
+ i3: [int32]
+ ret_value@identity: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_
+ ['imp-testcases/visualization/program.imp':38:36]:i: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:this: _|_
+ i: [10, 10]
+ i3: [1, 1]
+ ret_value@identity: [10, 10]
+ this: _|_
+
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#
+ ['imp-testcases/visualization/program.imp':38:36]:i: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:this: #TOP#
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_
+ ['imp-testcases/visualization/program.imp':38:36]:i: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:this: _|_
+ i: [10, 10]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845488124.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845488124.html new file mode 100644 index 000000000..2a531eace --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845488124.html @@ -0,0 +1,430 @@ + + + untyped A::identity(A* this, untyped i) + + + + + + + + + + + + + + + + +

untyped A::identity(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':31:37]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i3 = 1
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [int32]
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10]
+ i: [10, 10]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
Results for i3
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [int32]
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10]
+ i: [10, 10]
+ this: _|_
+
+
+
+
+
Results for 1
+ expressions: [1]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [int32]
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10]
+ i: [10, 10]
+ this: _|_
+
+
+
+
+
Results for return i
+ expressions: [ret_value@identity]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [int32]
+ i: [int32]
+ i3: [int32]
+ ret_value@identity: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10]
+ i: [10, 10]
+ i3: [1, 1]
+ ret_value@identity: [10, 10]
+ this: _|_
+
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [int32]
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10]
+ i: [10, 10]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845492991.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845492991.html new file mode 100644 index 000000000..31b75e702 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845492991.html @@ -0,0 +1,450 @@ + + + untyped A::identity(A* this, untyped i) + + + + + + + + + + + + + + + + +

untyped A::identity(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':33:42]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i3 = 1
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [int32]
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10]
+ i: [-1, -1]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
Results for i3
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [int32]
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10]
+ i: [-1, -1]
+ this: _|_
+
+
+
+
+
Results for 1
+ expressions: [1]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [int32]
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10]
+ i: [-1, -1]
+ this: _|_
+
+
+
+
+
Results for return i
+ expressions: [ret_value@identity]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [int32]
+ i: [int32]
+ i3: [int32]
+ ret_value@identity: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10]
+ i: [-1, -1]
+ i3: [1, 1]
+ ret_value@identity: [-1, -1]
+ this: _|_
+
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [int32]
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10]
+ i: [-1, -1]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html new file mode 100644 index 000000000..190a9d298 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html @@ -0,0 +1,438 @@ + + + untyped tests::helper(tests* this, untyped i, untyped dispatcher) + + + + + + + + + + + + + + + + +

untyped tests::helper(tests* this, untyped i, untyped dispatcher)

+

['imp-testcases/visualization/program.imp':34:36]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for return identity(dispatcher, i)
+ expressions: [ret_value@helper]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ dispatcher: #TOP#
+ i: [int32]
+ ret_value@helper: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ dispatcher: _|_
+ i: [10, 10]
+ ret_value@helper: [10, 10]
+ this: _|_
+
+
+
+
+
Results for identity(dispatcher, i)
+ expressions: [call_ret_value@'imp-testcases/visualization/program.imp':38:36]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ call_ret_value@'imp-testcases/visualization/program.imp':38:36: [int32]
+ dispatcher: #TOP#
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ call_ret_value@'imp-testcases/visualization/program.imp':38:36: [10, 10]
+ dispatcher: _|_
+ i: [10, 10]
+ this: _|_
+
+
+
+
+
Results for dispatcher
+ expressions: [dispatcher]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ dispatcher: #TOP#
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ dispatcher: _|_
+ i: [10, 10]
+ this: _|_
+
+
+
+
+
Results for i
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ dispatcher: #TOP#
+ i: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ dispatcher: _|_
+ i: [10, 10]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/report.json b/lisa/lisa-analyses/imp-testcases/visualization/html/report.json index 6abe5016f..cc870e61f 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "js/cytoscape-3.21.1.min.js", "js/cytoscape-graphml-1.0.6-hier.js", "js/jquery-3.0.0.min.js", "report.json", "untyped_A.A(A__this)_354460623.html", "untyped_A.getOne(A__this)_984360566.html", "untyped_A.getPositive(A__this,_untyped_i)_984361527.html", "untyped_A.identity(A__this,_untyped_i)_1012965692.html", "untyped_A.identity(A__this,_untyped_i)_1070248980.html", "untyped_A.identity(A__this,_untyped_i)_1726458834.html", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html", "untyped_tests.main(tests__this).html" ], + "files" : [ "js/cytoscape-3.21.1.min.js", "js/cytoscape-graphml-1.0.6-hier.js", "js/jquery-3.0.0.min.js", "report.json", "untyped_A.A(A__this)_845473647.html", "untyped_A.getOne(A__this)_845491937.html", "untyped_A.getPositive(A__this,_untyped_i)_845492898.html", "untyped_A.identity(A__this,_untyped_i)_1285788509.html", "untyped_A.identity(A__this,_untyped_i)_845488124.html", "untyped_A.identity(A__this,_untyped_i)_845492991.html", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html", "untyped_tests.main(tests__this).html" ], "info" : { "cfgs" : "6", - "duration" : "357ms", - "end" : "2023-03-16T22:40:08.378+01:00", + "duration" : "655ms", + "end" : "2023-04-20T12:45:49.094+02:00", "expressions" : "49", "files" : "11", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:08.021+01:00", + "start" : "2023-04-20T12:45:48.439+02:00", "statements" : "21", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "false", "serializeResults" : "false", diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_354460623.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_354460623.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_354460623.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_845473647.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_845473647.html new file mode 100644 index 000000000..ba5939c92 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_845473647.html @@ -0,0 +1,336 @@ + + + untyped A::A(A* this) + + + + + + + + + + + + +

untyped A::A(A* this)

+

['imp-testcases/visualization/program.imp':29:22]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i1 = 0
+ expressions: [i1]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*]
+ ['imp-testcases/visualization/program.imp':29:22]:this: [tests*]
+ i1: [int32]
+ this: [A]
+
+ value:
+
+ i1: [0, 0]
+
+
+
+
+
Results for ret
+ expressions: [skip]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':29:22]:$lisareceiver: [A*]
+ ['imp-testcases/visualization/program.imp':29:22]:this: [tests*]
+ i1: [int32]
+ this: [A]
+
+ value:
+
+ i1: [0, 0]
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_845491937.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_845491937.html new file mode 100644 index 000000000..8f36df4c7 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_845491937.html @@ -0,0 +1,378 @@ + + + untyped A::getOne(A* this) + + + + + + + + + + + + +

untyped A::getOne(A* this)

+

['imp-testcases/visualization/program.imp':30:41]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for rec = new tests()
+ expressions: [rec]
+ state:
+
+ heap: monolith
+ type:
+
+ heap[w]:heap: [tests]
+ rec: [tests*]
+
+ value: #TOP#
+
+
+
+
Results for x = open(rec)
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, +Inf]
+
+
+
+
+
Results for <(x, 10)
+ expressions: [x < 10]
+ state:
+
+ heap: monolith
+ type:
+
+ x: #TOP#
+
+ value:
+
+ x: [-Inf, +Inf]
+
+
+
+
+
Results for x = +(x, 1)
+ expressions: [x]
+ state:
+
+ heap: monolith
+ type:
+
+ x: [float32, int32]
+
+ value:
+
+ x: [-Inf, 10]
+
+
+
+
+
Results for return 1
+ expressions: [ret_value@getOne]
+ state:
+
+ heap: monolith
+ type:
+
+ ret_value@getOne: [int32]
+ x: #TOP#
+
+ value:
+
+ ret_value@getOne: [1, 1]
+ x: [10, +Inf]
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_984360566.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_984360566.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_984360566.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_845492898.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_845492898.html new file mode 100644 index 000000000..27c321354 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_845492898.html @@ -0,0 +1,367 @@ + + + untyped A::getPositive(A* this, untyped i) + + + + + + + + + + + + +

untyped A::getPositive(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':30:42]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for <=(i, 0)
+ expressions: [i <= 0]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [1, 1]
+
+
+
+
+
Results for i = 1
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type: _|_
+ value: _|_
+
+
+
+
Results for i = 10
+ expressions: [i]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [10, 10]
+
+
+
+
+
Results for return i
+ expressions: [ret_value@getPositive]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [int32]
+ i: [int32]
+ ret_value@getPositive: [int32]
+ this: [A*]
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':30:42]:call_ret_value@'imp-testcases/visualization/program.imp':30:41: [1, 1]
+ i: [10, 10]
+ ret_value@getPositive: [10, 10]
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_984361527.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_984361527.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_984361527.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1012965692.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1012965692.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1012965692.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1070248980.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1070248980.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1070248980.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1285788509.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1285788509.html new file mode 100644 index 000000000..0cbf0cc27 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1285788509.html @@ -0,0 +1,368 @@ + + + untyped A::identity(A* this, untyped i) + + + + + + + + + + + + +

untyped A::identity(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':34:36, 'imp-testcases/visualization/program.imp':38:36]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i3 = 1
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#
+ ['imp-testcases/visualization/program.imp':38:36]:i: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:this: #TOP#
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_
+ ['imp-testcases/visualization/program.imp':38:36]:i: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:this: _|_
+ i: [10, 10]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
Results for return i
+ expressions: [ret_value@identity]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: #TOP#
+ ['imp-testcases/visualization/program.imp':38:36]:i: [int32]
+ ['imp-testcases/visualization/program.imp':38:36]:this: #TOP#
+ i: [int32]
+ i3: [int32]
+ ret_value@identity: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:dispatcher: _|_
+ ['imp-testcases/visualization/program.imp':38:36]:i: [10, 10]
+ ['imp-testcases/visualization/program.imp':38:36]:this: _|_
+ i: [10, 10]
+ i3: [1, 1]
+ ret_value@identity: [10, 10]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1726458834.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1726458834.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1726458834.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845488124.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845488124.html new file mode 100644 index 000000000..d4e87c892 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845488124.html @@ -0,0 +1,344 @@ + + + untyped A::identity(A* this, untyped i) + + + + + + + + + + + + +

untyped A::identity(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':31:37]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i3 = 1
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [int32]
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10]
+ i: [10, 10]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
Results for return i
+ expressions: [ret_value@identity]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [int32]
+ i: [int32]
+ i3: [int32]
+ ret_value@identity: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':31:37]:one: [10, 10]
+ i: [10, 10]
+ i3: [1, 1]
+ ret_value@identity: [10, 10]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845492991.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845492991.html new file mode 100644 index 000000000..2c35ee279 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845492991.html @@ -0,0 +1,352 @@ + + + untyped A::identity(A* this, untyped i) + + + + + + + + + + + + +

untyped A::identity(A* this, untyped i)

+

['imp-testcases/visualization/program.imp':33:42]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for i3 = 1
+ expressions: [i3]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [int32]
+ i: [int32]
+ i3: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10]
+ i: [-1, -1]
+ i3: [1, 1]
+ this: _|_
+
+
+
+
+
Results for return i
+ expressions: [ret_value@identity]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [int32]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [int32]
+ i: [int32]
+ i3: [int32]
+ ret_value@identity: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':33:42]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':33:42]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':33:42]:positive: [10, 10]
+ i: [-1, -1]
+ i3: [1, 1]
+ ret_value@identity: [-1, -1]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html deleted file mode 100644 index 8d2c25e6b..000000000 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html +++ /dev/null @@ -1 +0,0 @@ -This is a placeholder file - contents are not checked during testing. \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html new file mode 100644 index 000000000..4fada1ebd --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html @@ -0,0 +1,328 @@ + + + untyped tests::helper(tests* this, untyped i, untyped dispatcher) + + + + + + + + + + + + +

untyped tests::helper(tests* this, untyped i, untyped dispatcher)

+

['imp-testcases/visualization/program.imp':34:36]

+
+
+ +
+
+
+ No node selected. Select a node to show its results. +
+
+
Results for return identity(dispatcher, i)
+ expressions: [ret_value@helper]
+ state:
+
+ heap: monolith
+ type:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [int32]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [int32]
+ dispatcher: #TOP#
+ i: [int32]
+ ret_value@helper: [int32]
+ this: #TOP#
+
+ value:
+
+ ['imp-testcases/visualization/program.imp':34:36]:minusone: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:negative: [-1, -1]
+ ['imp-testcases/visualization/program.imp':34:36]:one: [10, 10]
+ ['imp-testcases/visualization/program.imp':34:36]:positive: [10, 10]
+ dispatcher: _|_
+ i: [10, 10]
+ ret_value@helper: [10, 10]
+ this: _|_
+
+
+
+
+
+ + + diff --git a/lisa/lisa-analyses/imp-testcases/visualization/inputs/report.json b/lisa/lisa-analyses/imp-testcases/visualization/inputs/report.json index 287f9ff1a..efe43bccc 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/inputs/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/inputs/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_A.A(A__this)_cfg.json", "untyped_A.getOne(A__this)_cfg.json", "untyped_A.getPositive(A__this,_untyped_i)_cfg.json", "untyped_A.identity(A__this,_untyped_i)_cfg.json", "untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_cfg.json", "untyped_tests.main(tests__this)_cfg.json" ], "info" : { "cfgs" : "6", - "duration" : "63ms", - "end" : "2023-03-16T22:40:09.174+01:00", + "duration" : "77ms", + "end" : "2023-04-20T12:45:51.226+02:00", "expressions" : "49", "files" : "6", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:09.111+01:00", + "start" : "2023-04-20T12:45:51.149+02:00", "statements" : "21", "units" : "2", "version" : "0.1b7", @@ -26,6 +26,7 @@ "jsonOutput" : "true", "openCallPolicy" : "WorstCasePolicy", "optimize" : "false", + "recursionWideningThreshold" : "5", "semanticChecks" : "", "serializeInputs" : "true", "serializeResults" : "false", diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonInterference/NonInterference.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonInterference/NonInterference.java index d6f4c25f4..993f4cc4b 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonInterference/NonInterference.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonInterference/NonInterference.java @@ -11,8 +11,11 @@ import it.unive.lisa.program.annotations.matcher.AnnotationMatcher; import it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher; import it.unive.lisa.program.cfg.ProgramPoint; +import it.unive.lisa.symbolic.value.BinaryExpression; import it.unive.lisa.symbolic.value.Constant; import it.unive.lisa.symbolic.value.Identifier; +import it.unive.lisa.symbolic.value.PushAny; +import it.unive.lisa.symbolic.value.Skip; import it.unive.lisa.symbolic.value.ValueExpression; import it.unive.lisa.symbolic.value.operator.binary.BinaryOperator; import it.unive.lisa.symbolic.value.operator.ternary.TernaryOperator; @@ -299,6 +302,30 @@ private NonInterference mkHighLow() { return top(); } + @Override + public InferredPair evalSkip(Skip skip, NonInterference state, ProgramPoint pp) + throws SemanticException { + return new InferredPair<>(this, bottom(), state(state, pp)); + } + + @Override + public InferredPair evalPushAny(PushAny pushAny, NonInterference state, ProgramPoint pp) + throws SemanticException { + return new InferredPair<>(this, top(), state(state, pp)); + } + + @Override + public InferredPair evalTypeConv(BinaryExpression conv, NonInterference left, + NonInterference right, NonInterference state, ProgramPoint pp) throws SemanticException { + return new InferredPair<>(this, left, state(state, pp)); + } + + @Override + public InferredPair evalTypeCast(BinaryExpression cast, NonInterference left, + NonInterference right, NonInterference state, ProgramPoint pp) throws SemanticException { + return new InferredPair<>(this, left, state(state, pp)); + } + @Override public InferredPair evalNullConstant(NonInterference state, ProgramPoint pp) throws SemanticException { diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/numeric/Sign.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/numeric/Sign.java index 5df63cc27..05228fbfe 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/numeric/Sign.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/numeric/Sign.java @@ -24,6 +24,7 @@ import it.unive.lisa.symbolic.value.operator.binary.ComparisonGt; import it.unive.lisa.symbolic.value.operator.binary.ComparisonLe; import it.unive.lisa.symbolic.value.operator.binary.ComparisonLt; +import it.unive.lisa.symbolic.value.operator.binary.ComparisonNe; import it.unive.lisa.symbolic.value.operator.ternary.TernaryOperator; import it.unive.lisa.symbolic.value.operator.unary.NumericNegation; import it.unive.lisa.symbolic.value.operator.unary.UnaryOperator; @@ -198,7 +199,7 @@ else if (operator instanceof SubtractionOperator) if (left.isZero()) return right.opposite(); else if (right.isZero()) - return left.opposite(); + return left; else if (left.equals(right)) return top(); else @@ -213,6 +214,10 @@ else if (left.equals(right)) // +/+ = + // -/- = + return left.isTop() ? left : POS; + else if (!left.isTop() && left.equals(right.opposite())) + // +/- = - + // -/+ = - + return NEG; else return top(); else if (operator instanceof ModuloOperator) @@ -280,7 +285,7 @@ else if (operator == ComparisonLe.INSTANCE) else if (operator == ComparisonLt.INSTANCE) // e1 < e2 -> !(e1 >= e2) && !(e1 == e2) return left.gt(right).negate().and(left.eq(right).negate()); - else if (operator == ComparisonLe.INSTANCE) + else if (operator == ComparisonNe.INSTANCE) return left.eq(right).negate(); else return Satisfiability.UNKNOWN; diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/types/InferredTypes.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/types/InferredTypes.java index 181fde917..a7fec734b 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/types/InferredTypes.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/types/InferredTypes.java @@ -127,6 +127,11 @@ public boolean isBottom() { return BaseNonRelationalTypeDomain.super.isBottom() || BOTTOM.elements.equals(elements); } + @Override + public String toString() { + return representation().toString(); + } + @Override public DomainRepresentation representation() { if (isTop()) diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/CallGraphBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/CallGraphBasedAnalysis.java index bf9db8886..9d7c7655d 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/CallGraphBasedAnalysis.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/CallGraphBasedAnalysis.java @@ -34,7 +34,8 @@ public abstract class CallGraphBasedAnalysis, H extends HeapDomain, V extends ValueDomain, - T extends TypeDomain> implements InterproceduralAnalysis { + T extends TypeDomain> + implements InterproceduralAnalysis { /** * The call graph used to resolve method calls. @@ -51,6 +52,23 @@ public abstract class CallGraphBasedAnalysis */ protected OpenCallPolicy policy; + /** + * Builds the analysis. + */ + protected CallGraphBasedAnalysis() { + } + + /** + * Builds the analysis by copying the given one. + * + * @param other the original analysis to copy + */ + protected CallGraphBasedAnalysis(CallGraphBasedAnalysis other) { + this.callgraph = other.callgraph; + this.app = other.app; + this.policy = other.policy; + } + @Override public void init(Application app, CallGraph callgraph, OpenCallPolicy policy) throws InterproceduralAnalysisException { diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextBasedAnalysis.java deleted file mode 100644 index 7c020a9a9..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextBasedAnalysis.java +++ /dev/null @@ -1,259 +0,0 @@ -package it.unive.lisa.interprocedural; - -import it.unive.lisa.AnalysisExecutionException; -import it.unive.lisa.AnalysisSetupException; -import it.unive.lisa.DefaultParameters; -import it.unive.lisa.analysis.AbstractState; -import it.unive.lisa.analysis.AnalysisState; -import it.unive.lisa.analysis.AnalyzedCFG; -import it.unive.lisa.analysis.OptimizedAnalyzedCFG; -import it.unive.lisa.analysis.ScopeToken; -import it.unive.lisa.analysis.SemanticException; -import it.unive.lisa.analysis.StatementStore; -import it.unive.lisa.analysis.heap.HeapDomain; -import it.unive.lisa.analysis.lattices.ExpressionSet; -import it.unive.lisa.analysis.value.TypeDomain; -import it.unive.lisa.analysis.value.ValueDomain; -import it.unive.lisa.conf.FixpointConfiguration; -import it.unive.lisa.logging.IterationLogger; -import it.unive.lisa.logging.TimerLogger; -import it.unive.lisa.program.cfg.CFG; -import it.unive.lisa.program.cfg.Parameter; -import it.unive.lisa.program.cfg.statement.Statement; -import it.unive.lisa.program.cfg.statement.call.CFGCall; -import it.unive.lisa.program.language.parameterassignment.ParameterAssigningStrategy; -import it.unive.lisa.symbolic.SymbolicExpression; -import it.unive.lisa.symbolic.value.Identifier; -import it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet; -import it.unive.lisa.util.collections.workset.WorkingSet; -import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Map; -import java.util.Optional; -import org.apache.commons.lang3.tuple.Pair; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -/** - * A context sensitive interprocedural analysis. The context sensitivity is - * tuned by the kind of {@link ContextSensitivityToken} used. - * - * @param the abstract state of the analysis - * @param the heap domain - * @param the value domain - * @param the type domain - */ -@DefaultParameters({ RecursionFreeToken.class }) -public class ContextBasedAnalysis, - H extends HeapDomain, - V extends ValueDomain, - T extends TypeDomain> extends CallGraphBasedAnalysis { - - private static final Logger LOG = LogManager.getLogger(ContextBasedAnalysis.class); - - /** - * The cache of the fixpoints' results. {@link Map#keySet()} will contain - * all the cfgs that have been added. If a key's values's - * {@link Optional#isEmpty()} yields true, then the fixpoint for that key - * has not be computed yet. - */ - private FixpointResults results; - - private ContextSensitivityToken token; - - private final Collection fixpointTriggers; - - private Class> fixpointWorkingSet; - - private FixpointConfiguration conf; - - /** - * Builds the analysis, using {@link SingleScopeToken}s. - */ - public ContextBasedAnalysis() { - this(SingleScopeToken.getSingleton()); - } - - /** - * Builds the analysis. - * - * @param token an instance of the tokens to be used to partition w.r.t. - * context sensitivity - */ - public ContextBasedAnalysis(ContextSensitivityToken token) { - this.token = token.empty(); - fixpointTriggers = new HashSet<>(); - } - - @Override - public void fixpoint( - AnalysisState entryState, - Class> fixpointWorkingSet, - FixpointConfiguration conf) - throws FixpointException { - this.fixpointWorkingSet = fixpointWorkingSet; - this.conf = conf; - // new fixpoint execution: reset - this.results = null; - - if (app.getEntryPoints().isEmpty()) - throw new NoEntryPointException(); - - TimerLogger.execAction(LOG, "Computing fixpoint over the whole program", () -> this.fixpointAux(entryState)); - } - - private static String ordinal(int i) { - int n = i % 100; - if (n == 11 || n == 12 || n == 13 || n % 10 == 0 || n % 10 > 3) - return i + "th"; - - if (n % 10 == 1) - return i + "st"; - - if (n % 10 == 2) - return i + "nd"; - - return i + "rd"; - } - - private void fixpointAux(AnalysisState entryState) throws AnalysisExecutionException { - int iter = 0; - ContextSensitivityToken empty = token.empty(); - do { - LOG.info("Performing {} fixpoint iteration", ordinal(iter + 1)); - fixpointTriggers.clear(); - for (CFG cfg : IterationLogger.iterate(LOG, app.getEntryPoints(), "Processing entrypoints", "entries")) - try { - if (results == null) { - AnalyzedCFG graph = conf.optimize - ? new OptimizedAnalyzedCFG<>(cfg, empty, entryState.bottom(), this) - : new AnalyzedCFG<>(cfg, empty, entryState); - CFGResults value = new CFGResults<>(graph); - this.results = new FixpointResults<>(value.top()); - } - - AnalysisState entryStateCFG = prepareEntryStateOfEntryPoint(entryState, cfg); - results.putResult(cfg, empty, - cfg.fixpoint(entryStateCFG, this, WorkingSet.of(fixpointWorkingSet), conf, empty)); - } catch (SemanticException | AnalysisSetupException e) { - throw new AnalysisExecutionException("Error while creating the entrystate for " + cfg, e); - } catch (FixpointException e) { - throw new AnalysisExecutionException("Error while computing fixpoint for entrypoint " + cfg, e); - } - - // starting from the callers of the cfgs that needed a lub, - // find out the complete set of cfgs that might need to be - // processed again - VisitOnceFIFOWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); - fixpointTriggers.forEach(cfg -> callgraph.getCallers(cfg).stream().filter(CFG.class::isInstance) - .map(CFG.class::cast).forEach(ws::push)); - while (!ws.isEmpty()) - callgraph.getCallers(ws.pop()).stream().filter(CFG.class::isInstance).map(CFG.class::cast) - .forEach(ws::push); - - ws.getSeen().forEach(results::forget); - - iter++; - } while (!fixpointTriggers.isEmpty()); - } - - @Override - public Collection> getAnalysisResultsOf(CFG cfg) { - if (results.contains(cfg)) - return results.getState(cfg).getAll(); - else - return Collections.emptySet(); - } - - private Pair, AnalysisState> getEntryAndExit(CFG cfg) - throws SemanticException { - if (!results.contains(cfg)) - return null; - CFGResults cfgresult = results.getState(cfg); - if (!cfgresult.contains(token)) - return null; - AnalyzedCFG analysisresult = cfgresult.getState(token); - return Pair.of(analysisresult.getEntryState(), analysisresult.getExitState()); - } - - @Override - public AnalysisState getAbstractResultOf( - CFGCall call, - AnalysisState entryState, - ExpressionSet[] parameters, - StatementStore expressions) - throws SemanticException { - ScopeToken scope = new ScopeToken(call); - token = token.pushToken(scope); - AnalysisState result = entryState.bottom(); - - for (CFG cfg : call.getTargetedCFGs()) { - Pair, AnalysisState> states = getEntryAndExit(cfg); - - // prepare the state for the call: hide the visible variables - AnalysisState callState = entryState.pushScope(scope); - - Parameter[] formals = cfg.getDescriptor().getFormals(); - @SuppressWarnings("unchecked") - ExpressionSet[] actuals = new ExpressionSet[parameters.length]; - - for (int i = 0; i < parameters.length; i++) - actuals[i] = parameters[i].pushScope(scope); - - ParameterAssigningStrategy strategy = call.getProgram().getFeatures().getAssigningStrategy(); - Pair, - ExpressionSet[]> prepared = strategy.prepare(call, callState, - this, expressions, formals, actuals); - - AnalysisState exitState; - if (states != null && prepared.getLeft().lessOrEqual(states.getLeft())) - // no need to compute the fixpoint: we already have an - // approximation - exitState = states.getRight(); - else { - // compute the result - AnalyzedCFG fixpointResult = null; - try { - fixpointResult = computeFixpoint(cfg, token, prepared.getLeft()); - } catch (FixpointException | AnalysisSetupException e) { - throw new SemanticException("Exception during the interprocedural analysis", e); - } - - exitState = fixpointResult.getExitState(); - } - - // store the return value of the call inside the meta variable - AnalysisState tmp = callState.bottom(); - Identifier meta = (Identifier) call.getMetaVariable().pushScope(scope); - for (SymbolicExpression ret : exitState.getComputedExpressions()) - tmp = tmp.lub(exitState.assign(meta, ret, call)); - - // save the resulting state - result = result.lub(tmp.popScope(scope)); - } - - token = token.popToken(); - - callgraph.registerCall(call); - - return result; - } - - private AnalyzedCFG computeFixpoint(CFG cfg, ContextSensitivityToken localToken, - AnalysisState computedEntryState) - throws FixpointException, SemanticException, AnalysisSetupException { - AnalyzedCFG fixpointResult = cfg.fixpoint(computedEntryState, this, - WorkingSet.of(fixpointWorkingSet), conf, localToken); - Pair> res = results.putResult(cfg, localToken, fixpointResult); - if (Boolean.TRUE.equals(res.getLeft())) - fixpointTriggers.add(cfg); - return res.getRight(); - } - - @Override - public FixpointResults getFixpointResults() { - return results; - } -} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextInsensitiveToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextInsensitiveToken.java deleted file mode 100644 index a712eb79b..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextInsensitiveToken.java +++ /dev/null @@ -1,44 +0,0 @@ -package it.unive.lisa.interprocedural; - -import it.unive.lisa.analysis.ScopeToken; - -/** - * A context sensitive token that is always the same (aka, do not track any - * information about the call stack). - */ -public class ContextInsensitiveToken implements ContextSensitivityToken { - - private static final ContextInsensitiveToken singleton = new ContextInsensitiveToken(); - - private ContextInsensitiveToken() { - } - - @Override - public ContextSensitivityToken empty() { - return this; - } - - @Override - public ContextSensitivityToken pushToken(ScopeToken c) { - return this; - } - - @Override - public ContextSensitivityToken popToken() { - return this; - } - - @Override - public String toString() { - return ""; - } - - /** - * Return an instance of the class. - * - * @return an instance of the class - */ - public static ContextInsensitiveToken getSingleton() { - return singleton; - } -} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextSensitivityToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextSensitivityToken.java deleted file mode 100644 index 57818c033..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextSensitivityToken.java +++ /dev/null @@ -1,51 +0,0 @@ -package it.unive.lisa.interprocedural; - -import it.unive.lisa.analysis.ScopeToken; - -/** - * A token for interprocedural analysis that tunes the level of context - * sensitivity. - */ -public interface ContextSensitivityToken extends ScopeId { - - /** - * A token without any context sensitivity. - * - * @return an empty context sensitive token - */ - ContextSensitivityToken empty(); - - /** - * Creates a context sensitive token with the given scope on the top of the - * stack. - * - * @param c the {@link ScopeToken} to be pushed at the top of the context - * sensitive - * - * @return a token with the given scope on the top of the call stack - */ - ContextSensitivityToken pushToken(ScopeToken c); - - /** - * Creates a context sensitive token popping the scope on top of the stack. - * - * @return a token without the this token's top scope - */ - ContextSensitivityToken popToken(); - - @Override - default ScopeId startingId() { - return empty(); - } - - @Override - default ScopeId push(ScopeToken scopeToken) { - return pushToken(scopeToken); - } - - @Override - default boolean isStartingId() { - ContextSensitivityToken empty = empty(); - return this == empty || equals(empty); - } -} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ModularWorstCaseAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ModularWorstCaseAnalysis.java index d8514137e..a4389b05f 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ModularWorstCaseAnalysis.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ModularWorstCaseAnalysis.java @@ -33,6 +33,7 @@ import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; import java.util.Collection; import java.util.Set; +import java.util.TreeSet; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -83,7 +84,11 @@ public void fixpoint(AnalysisState entryState, // new fixpoint iteration: restart this.results = null; - for (CFG cfg : IterationLogger.iterate(LOG, app.getAllCFGs(), "Computing fixpoint over the whole program", + Collection all = new TreeSet<>((c1, c2) -> c1.getDescriptor().getLocation() + .compareTo(c2.getDescriptor().getLocation())); + all.addAll(app.getAllCFGs()); + + for (CFG cfg : IterationLogger.iterate(LOG, all, "Computing fixpoint over the whole program", "cfgs")) try { if (results == null) { @@ -140,6 +145,7 @@ public void init(Application app, CallGraph callgraph, OpenCallPolicy policy) throws InterproceduralAnalysisException { this.app = app; this.policy = policy; + this.results = null; } @Override diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/RecursionFreeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/RecursionFreeToken.java deleted file mode 100644 index f2c66bcd9..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/RecursionFreeToken.java +++ /dev/null @@ -1,83 +0,0 @@ -package it.unive.lisa.interprocedural; - -import it.unive.lisa.analysis.ScopeToken; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Objects; - -/** - * A context sensitive token representing an entire call chain up until a - * recursion. - */ -public class RecursionFreeToken implements ContextSensitivityToken { - - private static final RecursionFreeToken singleton = new RecursionFreeToken(null); - - private final List tokens; - - private RecursionFreeToken(ScopeToken newToken) { - this(Collections.emptyList(), newToken); - } - - private RecursionFreeToken(List tokens, ScopeToken newToken) { - this.tokens = new ArrayList<>(tokens.size() + (newToken == null ? 0 : 1)); - this.tokens.addAll(tokens); - if (newToken != null) - this.tokens.add(newToken); - } - - @Override - public ContextSensitivityToken empty() { - return new RecursionFreeToken(null); - } - - @Override - public boolean isStartingId() { - return tokens == null || tokens.isEmpty(); - } - - @Override - public ContextSensitivityToken pushToken(ScopeToken c) { - if (tokens.contains(c)) - return this; - return new RecursionFreeToken(tokens, c); - } - - @Override - public ContextSensitivityToken popToken() { - List toks = new ArrayList<>(tokens); - toks.remove(tokens.size() - 1); - return new RecursionFreeToken(toks, null); - } - - /** - * Return an empty token. - * - * @return an empty token - */ - public static RecursionFreeToken getSingleton() { - return singleton; - } - - @Override - public String toString() { - return String.valueOf(tokens); - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - RecursionFreeToken that = (RecursionFreeToken) o; - return Objects.equals(tokens, that.tokens); - } - - @Override - public int hashCode() { - return Objects.hash(tokens); - } - -} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SingleScopeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SingleScopeToken.java deleted file mode 100644 index 0f7289ccc..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SingleScopeToken.java +++ /dev/null @@ -1,68 +0,0 @@ -package it.unive.lisa.interprocedural; - -import it.unive.lisa.analysis.ScopeToken; -import java.util.Objects; - -/** - * A context sensitive token representing a single {@link ScopeToken}. - */ -public class SingleScopeToken implements ContextSensitivityToken { - - private static final SingleScopeToken singleton = new SingleScopeToken(null); - - private final ScopeToken token; - - private SingleScopeToken(ScopeToken token) { - this.token = token; - } - - @Override - public ContextSensitivityToken empty() { - return new SingleScopeToken(null); - } - - @Override - public ContextSensitivityToken pushToken(ScopeToken c) { - return new SingleScopeToken(c); - } - - @Override - public ContextSensitivityToken popToken() { - return empty(); - } - - @Override - public boolean isStartingId() { - return token == null; - } - - /** - * Return an empty token. - * - * @return an empty token - */ - public static SingleScopeToken getSingleton() { - return singleton; - } - - @Override - public String toString() { - return String.valueOf(token); - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - SingleScopeToken that = (SingleScopeToken) o; - return Objects.equals(token, that.token); - } - - @Override - public int hashCode() { - return Objects.hash(token); - } - -} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java new file mode 100644 index 000000000..2cc128072 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java @@ -0,0 +1,473 @@ +package it.unive.lisa.interprocedural.context; + +import it.unive.lisa.AnalysisExecutionException; +import it.unive.lisa.AnalysisSetupException; +import it.unive.lisa.DefaultParameters; +import it.unive.lisa.analysis.AbstractState; +import it.unive.lisa.analysis.AnalysisState; +import it.unive.lisa.analysis.AnalyzedCFG; +import it.unive.lisa.analysis.OptimizedAnalyzedCFG; +import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.analysis.SemanticException; +import it.unive.lisa.analysis.StatementStore; +import it.unive.lisa.analysis.heap.HeapDomain; +import it.unive.lisa.analysis.lattices.ExpressionSet; +import it.unive.lisa.analysis.value.TypeDomain; +import it.unive.lisa.analysis.value.ValueDomain; +import it.unive.lisa.conf.FixpointConfiguration; +import it.unive.lisa.interprocedural.CFGResults; +import it.unive.lisa.interprocedural.CallGraphBasedAnalysis; +import it.unive.lisa.interprocedural.FixpointResults; +import it.unive.lisa.interprocedural.InterproceduralAnalysisException; +import it.unive.lisa.interprocedural.NoEntryPointException; +import it.unive.lisa.interprocedural.OpenCallPolicy; +import it.unive.lisa.interprocedural.ScopeId; +import it.unive.lisa.interprocedural.callgraph.CallGraph; +import it.unive.lisa.interprocedural.context.recursion.Recursion; +import it.unive.lisa.interprocedural.context.recursion.RecursionSolver; +import it.unive.lisa.logging.IterationLogger; +import it.unive.lisa.logging.TimerLogger; +import it.unive.lisa.program.Application; +import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.CodeMember; +import it.unive.lisa.program.cfg.Parameter; +import it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState; +import it.unive.lisa.program.cfg.statement.Expression; +import it.unive.lisa.program.cfg.statement.Statement; +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.program.cfg.statement.call.Call; +import it.unive.lisa.program.language.parameterassignment.ParameterAssigningStrategy; +import it.unive.lisa.symbolic.SymbolicExpression; +import it.unive.lisa.util.StringUtilities; +import it.unive.lisa.util.collections.workset.WorkingSet; +import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; +import java.util.stream.Collectors; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * A context sensitive interprocedural analysis. The context sensitivity is + * tuned by the kind of {@link ContextSensitivityToken} used. Recursions are + * approximated applying the iterates of the recursion starting from bottom and + * using the same widening threshold of cfg fixpoints. + * + * @param the abstract state of the analysis + * @param the heap domain + * @param the value domain + * @param the type domain + */ +@DefaultParameters({ FullStackToken.class }) +public class ContextBasedAnalysis, + H extends HeapDomain, + V extends ValueDomain, + T extends TypeDomain> + extends CallGraphBasedAnalysis { + + private static final Logger LOG = LogManager.getLogger(ContextBasedAnalysis.class); + + /** + * The members that cause a new fixpoint iteration to be triggered after the + * current one, as their approximation for at least one context changed + * during the iteration. + */ + private final Collection triggers; + + /** + * Whether or not a new recursion has been discovered in the latest fixpoint + * iteration. + */ + private boolean pendingRecursions; + + /** + * The results computed by this analysis. + */ + protected FixpointResults results; + + /** + * The kind of {@link WorkingSet} to use during this analysis. + */ + private Class> workingSet; + + /** + * The current sensitivity token. + */ + protected ContextSensitivityToken token; + + /** + * The fixpoint configuration. + */ + protected FixpointConfiguration conf; + + /** + * Builds the analysis, using {@link LastCallToken}s. + */ + public ContextBasedAnalysis() { + this(LastCallToken.getSingleton()); + } + + /** + * Builds the analysis. + * + * @param token an instance of the tokens to be used to partition w.r.t. + * context sensitivity + */ + public ContextBasedAnalysis(ContextSensitivityToken token) { + this.token = token; + triggers = new HashSet<>(); + } + + /** + * Builds the analysis by copying the given one. + * + * @param other the original analysis to copy + */ + protected ContextBasedAnalysis(ContextBasedAnalysis other) { + super(other); + this.conf = other.conf; + this.results = other.results; + this.token = other.token; + this.triggers = other.triggers; + this.workingSet = other.workingSet; + this.pendingRecursions = false; + } + + @Override + public void init( + Application app, + CallGraph callgraph, + OpenCallPolicy policy) + throws InterproceduralAnalysisException { + super.init(app, callgraph, policy); + this.conf = null; + this.results = null; + this.token = token.startingId(); + this.workingSet = null; + this.pendingRecursions = false; + this.triggers.clear(); + } + + @Override + public void fixpoint( + AnalysisState entryState, + Class> fixpointWorkingSet, + FixpointConfiguration conf) + throws FixpointException { + this.workingSet = fixpointWorkingSet; + this.conf = conf; + // new fixpoint execution: reset + this.results = null; + + if (app.getEntryPoints().isEmpty()) + throw new NoEntryPointException(); + + TimerLogger.execAction(LOG, "Computing fixpoint over the whole program", () -> this.fixpointAux(entryState)); + } + + private void fixpointAux(AnalysisState entryState) throws AnalysisExecutionException { + int iter = 0; + ContextSensitivityToken empty = (ContextSensitivityToken) token.startingId(); + + Collection entryPoints = new TreeSet<>( + (c1, c2) -> c1.getDescriptor().getLocation().compareTo(c2.getDescriptor().getLocation())); + entryPoints.addAll(app.getEntryPoints()); + + do { + LOG.info("Performing {} fixpoint iteration", StringUtilities.ordinal(iter + 1)); + triggers.clear(); + pendingRecursions = false; + + for (CFG cfg : IterationLogger.iterate(LOG, entryPoints, "Processing entrypoints", "entries")) + try { + if (results == null) { + AnalyzedCFG graph = conf.optimize + ? new OptimizedAnalyzedCFG<>(cfg, empty, entryState.bottom(), this) + : new AnalyzedCFG<>(cfg, empty, entryState); + CFGResults value = new CFGResults<>(graph); + this.results = new FixpointResults<>(value.top()); + } + + token = empty; + AnalysisState entryStateCFG = prepareEntryStateOfEntryPoint(entryState, cfg); + results.putResult(cfg, empty, + cfg.fixpoint(entryStateCFG, this, WorkingSet.of(workingSet), conf, empty)); + } catch (SemanticException | AnalysisSetupException e) { + throw new AnalysisExecutionException("Error while creating the entrystate for " + cfg, e); + } catch (FixpointException e) { + throw new AnalysisExecutionException("Error while computing fixpoint for entrypoint " + cfg, e); + } + + if (pendingRecursions) { + Set> recursions = new HashSet<>(); + + for (Collection rec : callgraph.getRecursions()) { + // these are the calls that start the recursion by invoking + // one of its members + Collection starters = callgraph.getCallSites(rec).stream() + .filter(site -> !rec.contains(site.getCFG())) + .collect(Collectors.toSet()); + + for (Call starter : starters) { + // these are the head of the recursion: members invoked + // from outside of it + Set heads = callgraph.getCallees(starter.getCFG()).stream() + .filter(callee -> rec.contains(callee)) + .filter(CFG.class::isInstance) + .map(CFG.class::cast) + .collect(Collectors.toSet()); + Set>> entries = new HashSet<>(); + for (Entry> res : results.get(starter.getCFG())) { + StatementStore params = new StatementStore<>(entryState.bottom()); + Expression[] parameters = starter.getParameters(); + if (conf.optimize) + for (Expression actual : parameters) + params.put(actual, ((OptimizedAnalyzedCFG) res.getValue()) + .getUnwindedAnalysisStateAfter(actual)); + else + for (Expression actual : parameters) + params.put(actual, res.getValue().getAnalysisStateAfter(actual)); + + entries.add(Pair.of((ContextSensitivityToken) res.getKey(), + CompoundState.of(params.getState(parameters[parameters.length - 1]), params))); + } + + for (CFG head : heads) + for (Pair> entry : entries) { + Recursion recursion = new Recursion<>( + starter, + entry.getLeft(), + entry.getRight(), + head, + rec); + recursions.add(recursion); + } + } + } + + List> orderedRecursions = new ArrayList<>(recursions.size()); + for (Recursion rec : recursions) { + int pos = 0; + for (; pos < orderedRecursions.size(); pos++) + if (orderedRecursions.get(pos).getMembers().contains(rec.getInvocation().getCFG())) + // as the recursion at pos contains the member + // invoking rec, rec must be solved before the + // recursion at pos + break; + // if no match is found, add() will place the element at the + // end (pos == size()) + // otherwise, elements will be shifted + orderedRecursions.add(pos, rec); + } + + try { + for (Recursion rec : orderedRecursions) { + new RecursionSolver<>(this, rec).solve(); + triggers.addAll(rec.getMembers()); + } + } catch (SemanticException e) { + throw new AnalysisExecutionException("Unable to solve one or more recursions", e); + } + } + + // starting from the callers of the cfgs that needed a lub, + // find out the complete set of cfgs that might need to be + // processed again + Collection toRemove = callgraph.getCallersTransitively(triggers); + toRemove.removeAll(triggers); + toRemove.stream().filter(CFG.class::isInstance).map(CFG.class::cast).forEach(results::forget); + + iter++; + } while (!triggers.isEmpty()); + } + + @Override + public Collection> getAnalysisResultsOf(CFG cfg) { + if (results.contains(cfg)) + return results.getState(cfg).getAll(); + else + return Collections.emptySet(); + } + + /** + * Runs a fixpoint over the given {@link CFG}. + * + * @param cfg the target of the fixpoint + * @param token the scope identifier that identifies the computation + * @param entryState the entry state for the fixpoint + * + * @return the result of the fixpoint computation + * + * @throws FixpointException if the fixpoint terminates abruptly + * @throws SemanticException if an exception happens while storing the + * result of the fixpoint + * @throws AnalysisSetupException if the {@link WorkingSet} for the fixpoint + * cannot be created + */ + private AnalyzedCFG computeFixpoint( + CFG cfg, + ContextSensitivityToken token, + AnalysisState entryState) + throws FixpointException, SemanticException, AnalysisSetupException { + AnalyzedCFG fixpointResult = cfg.fixpoint( + entryState, + this, + WorkingSet.of(workingSet), + conf, + token); + if (shouldStoreFixpointResults()) { + Pair> res = results.putResult(cfg, token, fixpointResult); + if (shouldStoreFixpointResults() && Boolean.TRUE.equals(res.getLeft())) + triggers.add(cfg); + fixpointResult = res.getRight(); + } + return fixpointResult; + } + + /** + * Whether or not this analysis can avoid computing a fixpoint for the given + * cfg when it is invoked by a call, and shortcut to the result for the same + * token if it exists and if it was produced with a greater entry state. + * + * @param cfg the cfg under evaluation + * + * @return {@code true} if that condition holds (defaults to {@code true}) + */ + protected boolean canShortcut(CFG cfg) { + return true; + } + + /** + * Whether or not this analysis should look for recursions when evaluating + * calls, immediately returning bottom when one is found. + * + * @return {@code true} if that condition holds (defaults to {@code true}) + */ + protected boolean shouldCheckForRecursions() { + return true; + } + + /** + * Whether or not this analysis should store the results of fixpoint + * executions for them to be returned as part of + * {@link #getFixpointResults()}. + * + * @return {@code true} if that condition holds (defaults to {@code true}) + */ + protected boolean shouldStoreFixpointResults() { + return true; + } + + @Override + public FixpointResults getFixpointResults() { + return results; + } + + private Pair, ExpressionSet[]> prepareEntryState( + CFGCall call, + AnalysisState entryState, + ExpressionSet[] parameters, + StatementStore expressions, + ScopeToken scope, + CFG cfg) + throws SemanticException { + Parameter[] formals = cfg.getDescriptor().getFormals(); + + // prepare the state for the call: hide the visible variables + Pair, ExpressionSet[]> scoped = scope( + entryState, + scope, + parameters); + AnalysisState callState = scoped.getLeft(); + ExpressionSet[] locals = scoped.getRight(); + + // assign parameters between the caller and the callee contexts + ParameterAssigningStrategy strategy = call.getProgram().getFeatures().getAssigningStrategy(); + Pair, ExpressionSet[]> prepared = strategy.prepare( + call, + callState, + this, + expressions, + formals, + locals); + return prepared; + } + + @Override + public AnalysisState getAbstractResultOf( + CFGCall call, + AnalysisState entryState, + ExpressionSet[] parameters, + StatementStore expressions) + throws SemanticException { + callgraph.registerCall(call); + + if (shouldCheckForRecursions() && (call.getTargetedCFGs().stream().anyMatch(call.getCFG()::equals) + || callgraph.getCalleesTransitively(call.getTargets()).contains(call.getCFG()))) { + // this calls introduces a loop in the call graph -> recursion + // we need a special fixpoint to compute its result + // we compute that at the end of each fixpoint iteration + pendingRecursions = true; + LOG.info("Found recursion at " + call.getLocation()); + + // we return bottom for now + if (returnsVoid(call, null)) + return entryState.bottom(); + else + return new AnalysisState<>( + entryState.getState().bottom(), + call.getMetaVariable(), + entryState.getAliasing().bottom()); + } + + ContextSensitivityToken callerToken = token; + token = token.push(call); + ScopeToken scope = new ScopeToken(call); + AnalysisState result = entryState.bottom(); + + // compute the result over all possible targets, and take the lub of + // the results + for (CFG cfg : call.getTargetedCFGs()) { + CFGResults localResults = results.get(cfg); + AnalyzedCFG states = localResults == null ? null : localResults.get(token); + Pair, ExpressionSet[]> prepared = prepareEntryState( + call, + entryState, + parameters, + expressions, + scope, + cfg); + + AnalysisState exitState; + if (canShortcut(cfg) && states != null && prepared.getLeft().lessOrEqual(states.getEntryState())) + // no need to compute the fixpoint: we already have an + // (over-)approximation of the result computed starting from + // an over-approximation of the entry state + exitState = states.getExitState(); + else { + // compute the result with a fixpoint iteration + AnalyzedCFG fixpointResult = null; + try { + fixpointResult = computeFixpoint(cfg, token, prepared.getLeft()); + } catch (FixpointException | AnalysisSetupException e) { + throw new SemanticException("Exception during the interprocedural analysis", e); + } + + exitState = fixpointResult.getExitState(); + } + + // save the resulting state + result = result.lub(unscope(call, scope, exitState)); + } + + token = callerToken; + return result; + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextInsensitiveToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextInsensitiveToken.java new file mode 100644 index 000000000..6aa54ee46 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextInsensitiveToken.java @@ -0,0 +1,60 @@ +package it.unive.lisa.interprocedural.context; + +import it.unive.lisa.program.cfg.statement.call.CFGCall; + +/** + * A context sensitive token that is always the same (aka, do not track any + * information about the call stack). All results for a given cfg will be lubbed + * together regardless of the call site. This corresponds to having a + * {@link KDepthToken} with {@code k = 0}. + */ +public class ContextInsensitiveToken implements ContextSensitivityToken { + + private static final ContextInsensitiveToken SINGLETON = new ContextInsensitiveToken(); + + private ContextInsensitiveToken() { + super(); + } + + @Override + public String toString() { + return ""; + } + + /** + * Return an instance of the class. + * + * @return an instance of the class + */ + public static ContextInsensitiveToken getSingleton() { + return SINGLETON; + } + + @Override + public int hashCode() { + // we provide a deterministic hashcode as it is used for generating + // filenames of the output files + return ContextInsensitiveToken.class.getName().hashCode(); + } + + @Override + public boolean equals(Object obj) { + // instances are still unique + return this == obj; + } + + @Override + public ContextSensitivityToken startingId() { + return SINGLETON; + } + + @Override + public boolean isStartingId() { + return true; + } + + @Override + public ContextSensitivityToken push(CFGCall c) { + return this; + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextSensitivityToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextSensitivityToken.java new file mode 100644 index 000000000..490a218c5 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextSensitivityToken.java @@ -0,0 +1,20 @@ +package it.unive.lisa.interprocedural.context; + +import it.unive.lisa.interprocedural.ScopeId; +import it.unive.lisa.program.cfg.statement.call.CFGCall; + +/** + * A token for interprocedural analysis that tunes the level of context + * sensitivity. This works as a mask over the call stack, keeping track only of + * some of the calls appearing in it. + */ +public interface ContextSensitivityToken extends ScopeId { + + // we redefine these just to give a more specific return type + + @Override + ContextSensitivityToken startingId(); + + @Override + ContextSensitivityToken push(CFGCall c); +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/FullStackToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/FullStackToken.java new file mode 100644 index 000000000..b9b5e689b --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/FullStackToken.java @@ -0,0 +1,95 @@ +package it.unive.lisa.interprocedural.context; + +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.util.collections.CollectionUtilities; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * A context sensitive token representing an entire call chain, regardless of + * its length. This corresponds to having an unlimited {@link KDepthToken}, that + * will thus never merge results for of different calls due to matching + * contexts. + */ +public class FullStackToken implements ContextSensitivityToken { + + private static final FullStackToken SINGLETON = new FullStackToken(); + + private final List calls; + + private FullStackToken() { + calls = Collections.emptyList(); + } + + private FullStackToken(FullStackToken source, CFGCall newToken) { + this.calls = new ArrayList<>(source.calls.size() + 1); + source.calls.forEach(this.calls::add); + this.calls.add(newToken); + } + + /** + * Return an empty token. + * + * @return an empty token + */ + public static FullStackToken getSingleton() { + return SINGLETON; + } + + @Override + public String toString() { + if (calls.isEmpty()) + return ""; + return "[" + calls.stream().map(call -> call.getLocation()) + .collect(new CollectionUtilities.StringCollector<>(", ")) + "]"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + if (calls == null) + result = prime * result; + else + for (CFGCall call : calls) + // we use the hashcode of the location as the hashcode of the + // call is based on the ones of its targets, and a CFG hashcode + // is not consistent between executions - this is a problem as + // this object's hashcode is used as suffix in some filenames + result = prime * result + call.getLocation().hashCode(); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + FullStackToken other = (FullStackToken) obj; + if (calls == null) { + if (other.calls != null) + return false; + } else if (!calls.equals(other.calls)) + return false; + return true; + } + + @Override + public ContextSensitivityToken startingId() { + return getSingleton(); + } + + @Override + public boolean isStartingId() { + return calls.isEmpty(); + } + + @Override + public ContextSensitivityToken push(CFGCall c) { + return new FullStackToken(this, c); + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/KDepthToken.java new file mode 100644 index 000000000..c9fea238b --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/KDepthToken.java @@ -0,0 +1,109 @@ +package it.unive.lisa.interprocedural.context; + +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.util.collections.CollectionUtilities; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * A context sensitive token representing an entire call chain up to a fixed + * length {@code k}, specified in the singleton creation + * ({@link #getSingleton(int)}). + */ +public class KDepthToken implements ContextSensitivityToken { + + private final List calls; + + private final int k; + + private KDepthToken(int k) { + this.k = k; + this.calls = Collections.emptyList(); + } + + private KDepthToken(int k, KDepthToken source, CFGCall newToken) { + this.k = k; + int oldlen = source.calls.size(); + if (oldlen < k) { + this.calls = new ArrayList<>(oldlen + 1); + source.calls.forEach(this.calls::add); + this.calls.add(newToken); + } else { + this.calls = new ArrayList<>(k); + // we only keep the last k-1 elements + source.calls.stream().skip(oldlen - k + 1).forEach(this.calls::add); + this.calls.add(newToken); + } + } + + /** + * Return an empty token. + * + * @param k the maximum depth + * + * @return an empty token + */ + public static KDepthToken getSingleton(int k) { + return new KDepthToken(k); + } + + @Override + public String toString() { + if (calls.isEmpty()) + return ""; + return "[" + calls.stream().map(call -> call.getLocation()) + .collect(new CollectionUtilities.StringCollector<>(", ")) + "]"; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + KDepthToken other = (KDepthToken) obj; + // we ignore k as it does not matter for equality + if (calls == null) { + if (other.calls != null) + return false; + } else if (!calls.equals(other.calls)) + return false; + return true; + } + + @Override + public int hashCode() { + // we ignore k as it does not matter for equality + final int prime = 31; + int result = 1; + + if (calls == null) + result = prime * result; + else + for (CFGCall call : calls) + // we use the hashcode of the location as the hashcode of the + // call is based on the ones of its targets, and a CFG hashcode + // is not consistent between executions - this is a problem as + // this object's hashcode is used as suffix in some filenames + result = prime * result + call.getLocation().hashCode(); + return result; + } + + @Override + public ContextSensitivityToken startingId() { + return getSingleton(k); + } + + @Override + public boolean isStartingId() { + return calls.isEmpty(); + } + + @Override + public ContextSensitivityToken push(CFGCall c) { + return new KDepthToken(k, this, c); + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/LastCallToken.java new file mode 100644 index 000000000..7b398e517 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/LastCallToken.java @@ -0,0 +1,81 @@ +package it.unive.lisa.interprocedural.context; + +import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.program.cfg.statement.call.CFGCall; + +/** + * A context sensitive token representing a single {@link ScopeToken}. The token + * that is kept is always the last pushed one, enabling the analysis of infinite + * call chains by lubbing results obtained starting from the same call site, + * regardless of the call stack. This corresponds to having a + * {@link KDepthToken} with {@code k = 1}. + */ +public class LastCallToken implements ContextSensitivityToken { + + private final CFGCall call; + + private LastCallToken(CFGCall call) { + this.call = call; + } + + /** + * Return an empty token. + * + * @return an empty token + */ + public static LastCallToken getSingleton() { + return new LastCallToken(null); + } + + @Override + public String toString() { + return call == null ? "" : "[" + call.getLocation().toString() + "]"; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + LastCallToken other = (LastCallToken) obj; + if (call == null) { + if (other.call != null) + return false; + } else if (!call.equals(other.call)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + if (call == null) + result = prime * result; + else + // we use the hashcode of the location as the hashcode of the + // call is based on the ones of its targets, and a CFG hashcode + // is not consistent between executions - this is a problem as + // this object's hashcode is used as suffix in some filenames + result = prime * result + call.getLocation().hashCode(); + return result; + } + + @Override + public ContextSensitivityToken startingId() { + return getSingleton(); + } + + @Override + public boolean isStartingId() { + return call == null; + } + + @Override + public ContextSensitivityToken push(CFGCall c) { + return new LastCallToken(c); + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/BaseCasesFinder.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/BaseCasesFinder.java new file mode 100644 index 000000000..3850c15ed --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/BaseCasesFinder.java @@ -0,0 +1,153 @@ +package it.unive.lisa.interprocedural.context.recursion; + +import it.unive.lisa.analysis.AbstractState; +import it.unive.lisa.analysis.AnalysisState; +import it.unive.lisa.analysis.SemanticException; +import it.unive.lisa.analysis.StatementStore; +import it.unive.lisa.analysis.heap.HeapDomain; +import it.unive.lisa.analysis.lattices.ExpressionSet; +import it.unive.lisa.analysis.value.TypeDomain; +import it.unive.lisa.analysis.value.ValueDomain; +import it.unive.lisa.conf.FixpointConfiguration; +import it.unive.lisa.interprocedural.InterproceduralAnalysisException; +import it.unive.lisa.interprocedural.OpenCallPolicy; +import it.unive.lisa.interprocedural.callgraph.CallGraph; +import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; +import it.unive.lisa.program.Application; +import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState; +import it.unive.lisa.program.cfg.statement.Expression; +import it.unive.lisa.program.cfg.statement.Statement; +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.program.cfg.statement.call.Call; +import it.unive.lisa.symbolic.SymbolicExpression; +import it.unive.lisa.util.collections.workset.WorkingSet; +import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; + +/** + * A recursion solver that applies a single iteration of the recursion starting + * from bottom and using top as entry state for the recursion. This is useful + * for understanding what is the return value in the base cases of the + * recursion: as the call that closes the recursion loop returns bottom, only + * the returns from the base cases will affect the result. + * + * @author Luca Negrini + * + * @param the type of {@link AbstractState} contained into the analysis + * state + * @param the type of {@link HeapDomain} contained into the computed + * abstract state + * @param the type of {@link ValueDomain} contained into the computed + * abstract state + * @param the type of {@link TypeDomain} contained into the computed + * abstract state + */ +public class BaseCasesFinder, + H extends HeapDomain, + V extends ValueDomain, + T extends TypeDomain> + extends ContextBasedAnalysis { + + private final Recursion recursion; + + private final boolean returnsVoid; + + /** + * Builds the solver. + * + * @param backing the analysis that backs this solver, and that can be + * used to query call results + * @param recursion the recursion to solve + * @param returnsVoid whether or not the recursion returns void + */ + public BaseCasesFinder( + ContextBasedAnalysis backing, + Recursion recursion, + boolean returnsVoid) { + super(backing); + this.recursion = recursion; + this.returnsVoid = returnsVoid; + } + + @Override + public void init( + Application app, + CallGraph callgraph, + OpenCallPolicy policy) + throws InterproceduralAnalysisException { + // we mark this as unsupported to make sure it never gets used as a root + // analysis + throw new UnsupportedOperationException(); + } + + @Override + public void fixpoint( + AnalysisState entryState, + Class> fixpointWorkingSet, + FixpointConfiguration conf) + throws FixpointException { + // we mark this as unsupported to make sure it never gets used as a root + // analysis + throw new UnsupportedOperationException(); + } + + @Override + public AnalysisState getAbstractResultOf( + CFGCall call, + AnalysisState entryState, + ExpressionSet[] parameters, + StatementStore expressions) + throws SemanticException { + boolean inRecursion = recursion.getMembers().contains(call.getCFG()); + if (inRecursion && call.getTargetedCFGs().contains(recursion.getRecursionHead())) { + // this is a back call + if (returnsVoid) + return entryState.bottom(); + else + return new AnalysisState<>( + entryState.getState().bottom(), + call.getMetaVariable(), + entryState.getAliasing().bottom()); + } + + return super.getAbstractResultOf(call, entryState, parameters, expressions); + } + + @Override + protected boolean canShortcut(CFG cfg) { + // we want to compute the recursive chain with no shortcuts + return !recursion.getMembers().contains(cfg); + } + + @Override + protected boolean shouldCheckForRecursions() { + return false; + } + + @Override + protected boolean shouldStoreFixpointResults() { + return false; + } + + /** + * Solves the recursion by iterating once starting from bottom. + * + * @return the poststate for the call that starts the recursion + * + * @throws SemanticException if an exception happens during the computation + */ + public AnalysisState find() throws SemanticException { + Call start = recursion.getInvocation(); + CompoundState entryState = recursion.getEntryState(); + + // we reset the analysis at the point where the starting call can be + // evaluated + token = recursion.getInvocationToken(); + Expression[] actuals = start.getParameters(); + @SuppressWarnings("unchecked") + ExpressionSet[] params = new ExpressionSet[actuals.length]; + for (int i = 0; i < params.length; i++) + params[i] = entryState.intermediateStates.getState(actuals[i]).getComputedExpressions(); + return start.expressionSemantics(this, entryState.postState.top(), params, entryState.intermediateStates); + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/Recursion.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/Recursion.java new file mode 100644 index 000000000..ccebf8d8a --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/Recursion.java @@ -0,0 +1,173 @@ +package it.unive.lisa.interprocedural.context.recursion; + +import it.unive.lisa.analysis.AbstractState; +import it.unive.lisa.analysis.heap.HeapDomain; +import it.unive.lisa.analysis.value.TypeDomain; +import it.unive.lisa.analysis.value.ValueDomain; +import it.unive.lisa.interprocedural.context.ContextSensitivityToken; +import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.CodeMember; +import it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState; +import it.unive.lisa.program.cfg.statement.call.Call; +import java.util.Collection; + +/** + * A recursion happening in the program. + * + * @author Luca Negrini + * + * @param the type of {@link AbstractState} contained into the analysis + * state + * @param the type of {@link HeapDomain} contained into the computed + * abstract state + * @param the type of {@link ValueDomain} contained into the computed + * abstract state + * @param the type of {@link TypeDomain} contained into the computed + * abstract state + */ +public class Recursion< + A extends AbstractState, + H extends HeapDomain, + V extends ValueDomain, + T extends TypeDomain> { + + private final Call start; + + private final CFG head; + + private final Collection members; + + private final ContextSensitivityToken invocationToken; + + private final CompoundState entryState; + + /** + * Builds the recursion. + * + * @param invocation the call that started the recursion + * @param invocationToken the active token when {@code invocation} was + * executed + * @param entryState the entry state (prestate of {@code invocation} + * and poststates of its parameters) of the + * recursion + * @param recursionHead the member of the recursion that was invoked by + * {@code invocation} + * @param members the members that are part of the recursion + */ + public Recursion( + Call invocation, + ContextSensitivityToken invocationToken, + CompoundState entryState, + CFG recursionHead, + Collection members) { + this.start = invocation; + this.head = recursionHead; + this.members = members; + this.invocationToken = invocationToken; + this.entryState = entryState; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((entryState == null) ? 0 : entryState.hashCode()); + result = prime * result + ((head == null) ? 0 : head.hashCode()); + result = prime * result + ((invocationToken == null) ? 0 : invocationToken.hashCode()); + result = prime * result + ((members == null) ? 0 : members.hashCode()); + result = prime * result + ((start == null) ? 0 : start.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Recursion other = (Recursion) obj; + if (entryState == null) { + if (other.entryState != null) + return false; + } else if (!entryState.equals(other.entryState)) + return false; + if (head == null) { + if (other.head != null) + return false; + } else if (!head.equals(other.head)) + return false; + if (invocationToken == null) { + if (other.invocationToken != null) + return false; + } else if (!invocationToken.equals(other.invocationToken)) + return false; + if (members == null) { + if (other.members != null) + return false; + } else if (!members.equals(other.members)) + return false; + if (start == null) { + if (other.start != null) + return false; + } else if (!start.equals(other.start)) + return false; + return true; + } + + /** + * Yields the call that started this recursion by calling + * {@link #getRecursionHead()}. + * + * @return the call that invoked the recursion + */ + public Call getInvocation() { + return start; + } + + /** + * Yields the head of the recursion, that is, the first member that was + * invoked from outside the recursion by {@link #getInvocation()}. + * + * @return the head of the recursion + */ + public CFG getRecursionHead() { + return head; + } + + /** + * Yields the {@link ContextSensitivityToken} that was active when + * {@link #getInvocation()} was executed to start the recursion. + * + * @return the token + */ + public ContextSensitivityToken getInvocationToken() { + return invocationToken; + } + + /** + * Yields the entry state (prestate of {@link #getInvocation()} together + * with the poststates of its parameters) that was used to start this + * recursion. + * + * @return the entry state + */ + public CompoundState getEntryState() { + return entryState; + } + + /** + * Yields all the {@link CodeMember}s part of this recursion. + * + * @return the members + */ + public Collection getMembers() { + return members; + } + + @Override + public String toString() { + return members.toString() + " (started at " + start.getLocation() + ")"; + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionSolver.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionSolver.java new file mode 100644 index 000000000..faa3c3928 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionSolver.java @@ -0,0 +1,257 @@ +package it.unive.lisa.interprocedural.context.recursion; + +import it.unive.lisa.analysis.AbstractState; +import it.unive.lisa.analysis.AnalysisState; +import it.unive.lisa.analysis.OptimizedAnalyzedCFG; +import it.unive.lisa.analysis.SemanticException; +import it.unive.lisa.analysis.StatementStore; +import it.unive.lisa.analysis.heap.HeapDomain; +import it.unive.lisa.analysis.lattices.ExpressionSet; +import it.unive.lisa.analysis.lattices.GenericMapLattice; +import it.unive.lisa.analysis.value.TypeDomain; +import it.unive.lisa.analysis.value.ValueDomain; +import it.unive.lisa.conf.FixpointConfiguration; +import it.unive.lisa.interprocedural.InterproceduralAnalysisException; +import it.unive.lisa.interprocedural.OpenCallPolicy; +import it.unive.lisa.interprocedural.callgraph.CallGraph; +import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; +import it.unive.lisa.interprocedural.context.ContextSensitivityToken; +import it.unive.lisa.program.Application; +import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState; +import it.unive.lisa.program.cfg.statement.Expression; +import it.unive.lisa.program.cfg.statement.Statement; +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.program.cfg.statement.call.Call; +import it.unive.lisa.symbolic.SymbolicExpression; +import it.unive.lisa.symbolic.value.Identifier; +import it.unive.lisa.util.StringUtilities; +import it.unive.lisa.util.collections.workset.WorkingSet; +import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * A recursion solver that applies the iterates of the recursion starting from + * bottom. This solver operates by restarting the recursion from + * {@link Recursion#getInvocation()} a number of times, until the results of all + * the members stabilize. + * + * @author Luca Negrini + * + * @param the type of {@link AbstractState} contained into the analysis + * state + * @param the type of {@link HeapDomain} contained into the computed + * abstract state + * @param the type of {@link ValueDomain} contained into the computed + * abstract state + * @param the type of {@link TypeDomain} contained into the computed + * abstract state + */ +public class RecursionSolver, + H extends HeapDomain, + V extends ValueDomain, + T extends TypeDomain> + extends ContextBasedAnalysis { + + private static final Logger LOG = LogManager.getLogger(RecursionSolver.class); + + private final Recursion recursion; + + private final boolean returnsVoid; + + private final Map, ContextSensitivityToken>> finalEntryStates; + + private final BaseCasesFinder baseCases; + + private GenericMapLattice> previousApprox; + + private GenericMapLattice> recursiveApprox; + + private AnalysisState base; + + /** + * Builds the solver. + * + * @param backing the analysis that backs this solver, and that can be + * used to query call results + * @param recursion the recursion to solve + */ + public RecursionSolver(ContextBasedAnalysis backing, Recursion recursion) { + super(backing); + this.recursion = recursion; + finalEntryStates = new HashMap<>(); + // the return value of each back call must be the same as the one + // starting the recursion, as they invoke the same cfg + returnsVoid = returnsVoid(recursion.getInvocation(), null); + baseCases = new BaseCasesFinder<>(backing, recursion, returnsVoid); + } + + @Override + public void init( + Application app, + CallGraph callgraph, + OpenCallPolicy policy) + throws InterproceduralAnalysisException { + // we mark this as unsupported to make sure it never gets used as a root + // analysis + throw new UnsupportedOperationException(); + } + + @Override + public void fixpoint( + AnalysisState entryState, + Class> fixpointWorkingSet, + FixpointConfiguration conf) + throws FixpointException { + // we mark this as unsupported to make sure it never gets used as a root + // analysis + throw new UnsupportedOperationException(); + } + + @Override + public AnalysisState getAbstractResultOf( + CFGCall call, + AnalysisState entryState, + ExpressionSet[] parameters, + StatementStore expressions) + throws SemanticException { + boolean inRecursion = recursion.getMembers().contains(call.getCFG()); + if (inRecursion && call.getTargetedCFGs().contains(recursion.getRecursionHead())) { + // this is a back call + finalEntryStates.put(call, Pair.of(entryState, token)); + + AnalysisState approx = null; + if (recursiveApprox.getMap() != null) + approx = recursiveApprox.getMap().get(call); + if (approx == null) + // no state: we must start with the base cases + approx = transferToCallsite(recursion.getInvocation(), call, base); + // we bring in the entry state to carry over the correct scope + return approx.lub(entryState); + } + return super.getAbstractResultOf(call, entryState, parameters, expressions); + } + + @Override + protected boolean canShortcut(CFG cfg) { + // we want to compute the recursive chain with no shortcuts + return !recursion.getMembers().contains(cfg); + } + + @Override + protected boolean shouldCheckForRecursions() { + return false; + } + + /** + * Solves the recursion by applying its iterates starting from bottom. + * + * @throws SemanticException if an exception happens during the computation + */ + public void solve() throws SemanticException { + int recursionCount = 0; + Call start = recursion.getInvocation(); + Collection ends = finalEntryStates.keySet(); + CompoundState entryState = recursion.getEntryState(); + + LOG.info("Solving recursion at " + start.getLocation() + " for context " + recursion.getInvocationToken()); + + recursiveApprox = new GenericMapLattice<>(entryState.postState.bottom()); + recursiveApprox = recursiveApprox.bottom(); + base = baseCases.find(); + + Expression[] actuals = start.getParameters(); + @SuppressWarnings("unchecked") + ExpressionSet[] params = new ExpressionSet[actuals.length]; + for (int i = 0; i < params.length; i++) + params[i] = entryState.intermediateStates.getState(actuals[i]).getComputedExpressions(); + + do { + LOG.debug(StringUtilities.ordinal(recursionCount + 1) + + " evaluation of recursive chain at " + + start.getLocation()); + + previousApprox = recursiveApprox; + + // we reset the analysis at the point where the starting call can be + // evaluated + token = recursion.getInvocationToken(); + AnalysisState post = start.expressionSemantics( + this, + entryState.postState, + params, + entryState.intermediateStates); + + for (CFGCall end : ends) + recursiveApprox = recursiveApprox.putState(end, transferToCallsite(start, end, post)); + + if (conf.recursionWideningThreshold < 0) + recursiveApprox = previousApprox.lub(recursiveApprox); + else if (recursionCount == conf.recursionWideningThreshold) + recursiveApprox = previousApprox.widening(recursiveApprox); + else { + recursionCount++; + recursiveApprox = previousApprox.lub(recursiveApprox); + } + } while (!recursiveApprox.lessOrEqual(previousApprox)); + + if (conf.optimize) + // as the fixpoint results do not contain an explicit entry for the + // recursive call, we need to store the approximation for the + // recursive call manually or the unwinding won't manage to solve it + for (CFGCall call : ends) { + Pair, ContextSensitivityToken> pair = finalEntryStates.get(call); + AnalysisState callEntry = pair.getLeft(); + ContextSensitivityToken callingToken = pair.getRight(); + + // we get the cfg containing the call + OptimizedAnalyzedCFG caller = (OptimizedAnalyzedCFG) results.get(call.getCFG()) + .get(callingToken); + + // we get the actual call that is part of the cfg + Call source = call; + if (call.getSource() != null) + source = call.getSource(); + + // it might happen that the call is a hotspot and we don't need + // any additional work + if (!caller.hasPostStateOf(source)) { + // we add the value to the entry state, bringing in also the + // base case + AnalysisState local = transferToCallsite(start, call, base); + AnalysisState returned = callEntry.lub(recursiveApprox.getState(call).lub(local)); + + // finally, we store it in the result + caller.storePostStateOf(source, returned); + } + } + } + + private AnalysisState transferToCallsite( + Call original, + CFGCall destination, + AnalysisState state) + throws SemanticException { + AnalysisState res = state.bottom(); + Identifier meta = destination.getMetaVariable(); + if (returnsVoid) + res = state; + else + for (Identifier variable : original.getMetaVariables()) + // we transfer the return value + res = res.lub(state.assign(meta, variable, original)); + + // we only keep variables that can be affected by the recursive + // chain: the whole recursion return value, and all variables + // that are not sensible to scoping. All other variables are + // subjected to push and pop operations and cannot be + // considered a contribution of the recursive call. + res = res.forgetIdentifiersIf(i -> i.canBeScoped() && !i.equals(meta)); + return res; + } +} diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/AnalysisTestExecutor.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/AnalysisTestExecutor.java index e29d42458..7be59af0a 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/AnalysisTestExecutor.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/AnalysisTestExecutor.java @@ -1,6 +1,7 @@ package it.unive.lisa; import static java.nio.file.Files.copy; +import static java.nio.file.Files.createDirectories; import static java.nio.file.Files.delete; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -81,9 +82,14 @@ public void perform(CronConfiguration conf) { File actFile = Paths.get(actualPath.toString(), LiSA.REPORT_NAME).toFile(); if (!expFile.exists()) { - // no baseline defined, we end the test here - System.out.println("No '" + LiSA.REPORT_NAME + "' found in the expected folder, exiting..."); - return; + boolean update = "true".equals(System.getProperty("lisa.cron.update")) || conf.forceUpdate; + if (!update) { + System.out.println("No '" + LiSA.REPORT_NAME + "' found in the expected folder, exiting..."); + return; + } else { + System.out.println("No '" + LiSA.REPORT_NAME + "' found in the expected folder, copying results..."); + copyFiles(expectedPath, actualPath, expFile, actFile); + } } compare(conf, expectedPath, actualPath, expFile, actFile, false); @@ -152,6 +158,38 @@ else if (!JsonReportComparer.compare( } } + private void copyFiles( + Path expectedPath, + Path actualPath, + File expFile, + File actFile) { + try (FileReader r = new FileReader(actFile)) { + JsonReport actual = JsonReport.read(r); + + createDirectories(expectedPath); + + copy(actFile.toPath(), expFile.toPath(), StandardCopyOption.REPLACE_EXISTING); + System.err.println("- Copied " + LiSA.REPORT_NAME); + + for (String file : actual.getFiles()) { + Path f = Paths.get(file); + if (!f.getFileName().toString().equals(LiSA.REPORT_NAME)) { + Path path = Paths.get(expectedPath.toString(), f.toString()); + createDirectories(path.getParent()); + copy(Paths.get(actualPath.toString(), f.toString()), path); + System.err.println("- Copied (new) " + f); + } + } + + } catch (FileNotFoundException e) { + e.printStackTrace(System.err); + fail("File not found: " + e.getMessage()); + } catch (IOException e) { + e.printStackTrace(System.err); + fail("Unable to compare reports: " + e.getMessage()); + } + } + private void regen(Path expectedPath, Path actualPath, File expFile, File actFile, Accumulator acc) throws IOException { boolean updateReport = acc.changedWarnings || acc.changedConf || acc.changedInfos @@ -167,8 +205,9 @@ private void regen(Path expectedPath, Path actualPath, File expFile, File actFil } for (Path f : acc.addedFilePaths) if (!f.getFileName().toString().equals(LiSA.REPORT_NAME)) { - copy(Paths.get(actualPath.toString(), f.toString()), - Paths.get(expectedPath.toString(), f.toString())); + Path path = Paths.get(expectedPath.toString(), f.toString()); + createDirectories(path.getParent()); + copy(Paths.get(actualPath.toString(), f.toString()), path); System.err.println("- Copied (new) " + f); } for (Path f : acc.changedFileName) { diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/EqualityContractVerificationTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/EqualityContractVerificationTest.java index adf5bd761..504971ccc 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/EqualityContractVerificationTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/EqualityContractVerificationTest.java @@ -31,11 +31,13 @@ import it.unive.lisa.imp.IMPFeatures; import it.unive.lisa.imp.types.IMPTypeSystem; import it.unive.lisa.interprocedural.CFGResults; -import it.unive.lisa.interprocedural.ContextInsensitiveToken; -import it.unive.lisa.interprocedural.ContextSensitivityToken; import it.unive.lisa.interprocedural.FixpointResults; import it.unive.lisa.interprocedural.callgraph.CallGraphEdge; import it.unive.lisa.interprocedural.callgraph.CallGraphNode; +import it.unive.lisa.interprocedural.context.ContextInsensitiveToken; +import it.unive.lisa.interprocedural.context.ContextSensitivityToken; +import it.unive.lisa.interprocedural.context.KDepthToken; +import it.unive.lisa.interprocedural.context.recursion.Recursion; import it.unive.lisa.outputs.json.JsonReport; import it.unive.lisa.outputs.json.JsonReport.JsonWarning; import it.unive.lisa.outputs.serializableGraph.SerializableEdge; @@ -198,6 +200,10 @@ public static void ensureAllTested() throws ClassNotFoundException, NoSuchMethod && !Modifier.isInterface(clazz.getModifiers()) && !tested.contains(clazz) && definesEqualsHashcode(clazz) + // ContextInsensitiveToken is designed for reference + // equality, but we fix the hashcode as it is still used in + // some filenames + && clazz != ContextInsensitiveToken.class // some testing classes that we do not care about end up // here && !clazz.getName().contains("Test")) @@ -337,8 +343,9 @@ public void testIntervalStructure() { public void testTypes() { Reflections scanner = mkReflections(); for (Class type : scanner.getSubTypesOf(Type.class)) - // type token is the only one with an eclipse-like equals - verify(type, type == TypeTokenType.class, Warning.STRICT_INHERITANCE); + if (!type.getName().contains("BaseCallGraphTest")) + // type token is the only one with an eclipse-like equals + verify(type, type == TypeTokenType.class, Warning.STRICT_INHERITANCE); } @Test @@ -484,11 +491,14 @@ public void testInterproceduralObjects() { verify(CallGraphNode.class, verifier -> verifier.withIgnoredFields("graph")); verify(CFGResults.class, Warning.NONFINAL_FIELDS); verify(FixpointResults.class, Warning.NONFINAL_FIELDS); + verify(Recursion.class); Reflections scanner = mkReflections(); for (Class token : scanner.getSubTypesOf(ContextSensitivityToken.class)) - if (token == ContextInsensitiveToken.class) - verify(token, Warning.INHERITED_DIRECTLY_FROM_OBJECT); - else + if (token == KDepthToken.class) + // k is just a bound on the maximum length, it does not matter + verify(token, verifier -> verifier.withIgnoredFields("k")); + else if (token != ContextInsensitiveToken.class) + // there always is a unique instance of ContextInsensitiveToken verify(token); } diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/heap/pointbased/PointBasedHeapTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/heap/pointbased/PointBasedHeapTest.java index 20a8f5074..44b70c2bb 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/heap/pointbased/PointBasedHeapTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/heap/pointbased/PointBasedHeapTest.java @@ -10,7 +10,6 @@ import it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment; import it.unive.lisa.program.CodeElement; import it.unive.lisa.program.SourceCodeLocation; -import it.unive.lisa.program.annotations.Annotations; import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.CodeLocation; import it.unive.lisa.program.cfg.ProgramPoint; @@ -379,7 +378,7 @@ public CodeLocation getLocation() { new MemoryAllocation(untyped, loc1), loc1), pp1); PointBasedHeap xPushedScopeAssign = topHeap.assign( - new OutOfScopeIdentifier(x, token, new Annotations(), loc1), + new OutOfScopeIdentifier(x, token, loc1), new HeapReference(untyped, new MemoryAllocation(untyped, loc1), loc1), pp1); diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValueTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValueTest.java index 24a6dcd72..71d697491 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValueTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValueTest.java @@ -23,6 +23,7 @@ import it.unive.lisa.symbolic.value.Constant; import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.symbolic.value.PushAny; +import it.unive.lisa.symbolic.value.Skip; import it.unive.lisa.symbolic.value.TernaryExpression; import it.unive.lisa.symbolic.value.UnaryExpression; import it.unive.lisa.symbolic.value.ValueExpression; @@ -193,6 +194,8 @@ public Program getProgram() { return (R) new Sample(); if (param == ProgramPoint.class) return (R) new FakePP(); + if (param == Skip.class) + return (R) new Skip(SyntheticLocation.INSTANCE); throw new UnsupportedOperationException(mtd + ": No default value for type " + param.getName()); } diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomainTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomainTest.java index 4da000903..9368c7849 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomainTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomainTest.java @@ -21,6 +21,7 @@ import it.unive.lisa.symbolic.value.Constant; import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.symbolic.value.PushAny; +import it.unive.lisa.symbolic.value.Skip; import it.unive.lisa.symbolic.value.TernaryExpression; import it.unive.lisa.symbolic.value.UnaryExpression; import it.unive.lisa.symbolic.value.ValueExpression; @@ -187,6 +188,8 @@ public Program getProgram() { return (R) new Sample(); if (param == ProgramPoint.class) return (R) new FakePP(); + if (param == Skip.class) + return (R) new Skip(SyntheticLocation.INSTANCE); throw new UnsupportedOperationException(mtd + ": No default value for type " + param.getName()); } diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomainTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomainTest.java index 73bab718a..3fb48d259 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomainTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomainTest.java @@ -21,6 +21,7 @@ import it.unive.lisa.symbolic.value.Constant; import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.symbolic.value.PushAny; +import it.unive.lisa.symbolic.value.Skip; import it.unive.lisa.symbolic.value.TernaryExpression; import it.unive.lisa.symbolic.value.UnaryExpression; import it.unive.lisa.symbolic.value.ValueExpression; @@ -180,6 +181,8 @@ public Program getProgram() { return (R) new Sample(); if (param == ProgramPoint.class) return (R) new FakePP(); + if (param == Skip.class) + return (R) new Skip(SyntheticLocation.INSTANCE); throw new UnsupportedOperationException(mtd + ": No default value for type " + param.getName()); } diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/ContextSensitiveAnalysisTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/ContextSensitiveAnalysisTest.java index 8a6521e68..932fbed0f 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/ContextSensitiveAnalysisTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/ContextSensitiveAnalysisTest.java @@ -11,9 +11,9 @@ import it.unive.lisa.analysis.numeric.Interval; import it.unive.lisa.analysis.numeric.Sign; import it.unive.lisa.analysis.value.TypeDomain; -import it.unive.lisa.interprocedural.ContextBasedAnalysis; -import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; +import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; +import it.unive.lisa.interprocedural.context.FullStackToken; import org.junit.Test; public class ContextSensitiveAnalysisTest extends AnalysisTestExecutor { @@ -74,7 +74,7 @@ public void testRTAContextSensitive4() throws AnalysisSetupException { getDefaultFor(HeapDomain.class), new Sign(), getDefaultFor(TypeDomain.class)); - conf.interproceduralAnalysis = new ContextBasedAnalysis<>(RecursionFreeToken.getSingleton()); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); conf.callGraph = new RTACallGraph(); conf.testDir = "interprocedural"; conf.testSubDir = "RTAContextSensitive4"; @@ -113,5 +113,4 @@ public void testRTAContextSensitive6() throws AnalysisSetupException { conf.programFile = "programContextSensitive5.imp"; perform(conf); } - } diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java new file mode 100644 index 000000000..5a3f3f3dd --- /dev/null +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java @@ -0,0 +1,628 @@ +package it.unive.lisa.cron.interprocedural; + +import static it.unive.lisa.LiSAFactory.getDefaultFor; + +import it.unive.lisa.AnalysisSetupException; +import it.unive.lisa.AnalysisTestExecutor; +import it.unive.lisa.CronConfiguration; +import it.unive.lisa.analysis.AbstractState; +import it.unive.lisa.analysis.heap.HeapDomain; +import it.unive.lisa.analysis.numeric.Interval; +import it.unive.lisa.analysis.value.TypeDomain; +import it.unive.lisa.interprocedural.callgraph.RTACallGraph; +import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; +import it.unive.lisa.interprocedural.context.ContextInsensitiveToken; +import it.unive.lisa.interprocedural.context.FullStackToken; +import it.unive.lisa.interprocedural.context.KDepthToken; +import it.unive.lisa.interprocedural.context.LastCallToken; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class RecursionsTest extends AnalysisTestExecutor { + + @Test + public void testFibonacciFullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "fibonacci/full"; + conf.programFile = "fibonacci.imp"; + // as the test uses addition, there is a spurious x strcat y placed in + // the computed expressions in the first fixpoint round as the types of + // x and y cannot be determined (the state is bottom). This does not + // happen when unwinding the results, causing a difference. + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + public void testFibonacciKDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "fibonacci/kdepth"; + conf.programFile = "fibonacci.imp"; + // as the test uses addition, there is a spurious x strcat y placed in + // the computed expressions in the first fixpoint round as the types of + // x and y cannot be determined (the state is bottom). This does not + // happen when unwinding the results, causing a difference. + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + public void testFibonacciLast() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "fibonacci/last"; + conf.programFile = "fibonacci.imp"; + // as the test uses addition, there is a spurious x strcat y placed in + // the computed expressions in the first fixpoint round as the types of + // x and y cannot be determined (the state is bottom). This does not + // happen when unwinding the results, causing a difference. + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + public void testFibonacciInsensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "fibonacci/insensitive"; + conf.programFile = "fibonacci.imp"; + // as the test uses addition, there is a spurious x strcat y placed in + // the computed expressions in the first fixpoint round as the types of + // x and y cannot be determined (the state is bottom). This does not + // happen when unwinding the results, causing a difference. + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + public void testFactorialLoopFullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialLoop/full"; + conf.programFile = "factorialLoop.imp"; + perform(conf); + } + + @Test + public void testFactorialLoopKDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialLoop/kdepth"; + conf.programFile = "factorialLoop.imp"; + perform(conf); + } + + @Test + public void testFactorialLoopLast() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialLoop/last"; + conf.programFile = "factorialLoop.imp"; + perform(conf); + } + + @Test + public void testFactorialLoopInsensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialLoop/insensitive"; + conf.programFile = "factorialLoop.imp"; + perform(conf); + } + + @Test + public void testInfiniteRecursion2FullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion2/full"; + conf.programFile = "infiniteRecursion2.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testInfiniteRecursion2KDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion2/kdepth"; + conf.programFile = "infiniteRecursion2.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testInfiniteRecursion2Last() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion2/last"; + conf.programFile = "infiniteRecursion2.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testInfiniteRecursion2Insensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion2/insensitive"; + conf.programFile = "infiniteRecursion2.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testInfiniteRecursion1FullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion1/full"; + conf.programFile = "infiniteRecursion1.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testInfiniteRecursion1KDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion1/kdepth"; + conf.programFile = "infiniteRecursion1.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testInfiniteRecursion1Last() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion1/last"; + conf.programFile = "infiniteRecursion1.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testInfiniteRecursion1Insensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "infiniteRecursion1/insensitive"; + conf.programFile = "infiniteRecursion1.imp"; + // note: the result of this recursion is bottom as it never terminates + perform(conf); + } + + @Test + public void testFactorialFullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorial/full"; + conf.programFile = "factorial.imp"; + perform(conf); + } + + @Test + public void testFactorialKDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorial/kdepth"; + conf.programFile = "factorial.imp"; + perform(conf); + } + + @Test + public void testFactorialLast() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorial/last"; + conf.programFile = "factorial.imp"; + perform(conf); + } + + @Test + public void testFactorialInsensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorial/insensitive"; + conf.programFile = "factorial.imp"; + perform(conf); + } + + @Test + public void testFactorialInterleavedFullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialInterleaved/full"; + conf.programFile = "factorialInterleaved.imp"; + perform(conf); + } + + @Test + public void testFactorialInterleavedKDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialInterleaved/kdepth"; + conf.programFile = "factorialInterleaved.imp"; + perform(conf); + } + + @Test + public void testFactorialInterleavedLast() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialInterleaved/last"; + conf.programFile = "factorialInterleaved.imp"; + perform(conf); + } + + @Test + public void testFactorialInterleavedInsensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "factorialInterleaved/insensitive"; + conf.programFile = "factorialInterleaved.imp"; + perform(conf); + } + + @Test + public void testTwoRecursionsFullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "twoRecursions/full"; + conf.programFile = "twoRecursions.imp"; + perform(conf); + } + + @Test + public void testTwoRecursionsKDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "twoRecursions/kdepth"; + conf.programFile = "twoRecursions.imp"; + perform(conf); + } + + @Test + public void testTwoRecursionsLast() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "twoRecursions/last"; + conf.programFile = "twoRecursions.imp"; + perform(conf); + } + + @Test + public void testTwoRecursionsInsensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "twoRecursions/insensitive"; + conf.programFile = "twoRecursions.imp"; + perform(conf); + } + + @Test + public void testNestedRecursionsFullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "nestedRecursions/full"; + conf.programFile = "nestedRecursions.imp"; + perform(conf); + } + + @Test + public void testNestedRecursionsKDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "nestedRecursions/kdepth"; + conf.programFile = "nestedRecursions.imp"; + perform(conf); + } + + @Test + public void testNestedRecursionsLast() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "nestedRecursions/last"; + conf.programFile = "nestedRecursions.imp"; + perform(conf); + } + + @Test + public void testNestedRecursionsInsensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "nestedRecursions/insensitive"; + conf.programFile = "nestedRecursions.imp"; + perform(conf); + } + + @Test + public void testUnreachableBaseCaseFullStack() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "unreachableBaseCase/full"; + conf.programFile = "unreachableBaseCase.imp"; + perform(conf); + } + + @Test + public void testUnreachableBaseCaseKDepth() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "unreachableBaseCase/kdepth"; + conf.programFile = "unreachableBaseCase.imp"; + perform(conf); + } + + @Test + public void testUnreachableBaseCaseLast() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "unreachableBaseCase/last"; + conf.programFile = "unreachableBaseCase.imp"; + perform(conf); + } + + @Test + public void testUnreachableBaseCaseInsensitive() throws AnalysisSetupException { + CronConfiguration conf = new CronConfiguration(); + conf.serializeResults = true; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + conf.testDir = "interprocedural"; + conf.testSubDir = "unreachableBaseCase/insensitive"; + conf.programFile = "unreachableBaseCase.imp"; + perform(conf); + } +} diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/nonInterference/NonInterferenceTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/nonInterference/NonInterferenceTest.java index 4a5fabe73..1edffaf4c 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/nonInterference/NonInterferenceTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/nonInterference/NonInterferenceTest.java @@ -14,9 +14,9 @@ import it.unive.lisa.analysis.types.InferredTypes; import it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults; import it.unive.lisa.checks.semantic.SemanticCheck; -import it.unive.lisa.interprocedural.ContextBasedAnalysis; -import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; +import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; +import it.unive.lisa.interprocedural.context.FullStackToken; import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.statement.Assignment; import it.unive.lisa.program.cfg.statement.Expression; @@ -69,7 +69,7 @@ public void testDeclassification() throws AnalysisSetupException { new InferenceSystem<>(new NonInterference()), new TypeEnvironment<>(new InferredTypes())); conf.callGraph = new RTACallGraph(); - conf.interproceduralAnalysis = new ContextBasedAnalysis<>(RecursionFreeToken.getSingleton()); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); conf.semanticChecks.add(new NICheck()); conf.testDir = "non-interference/interproc"; conf.programFile = "program.imp"; diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/taint/TaintAnalysesTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/taint/TaintAnalysesTest.java index aac0f5625..cdc172703 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/taint/TaintAnalysesTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/taint/TaintAnalysesTest.java @@ -20,9 +20,9 @@ import it.unive.lisa.analysis.value.TypeDomain; import it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults; import it.unive.lisa.checks.semantic.SemanticCheck; -import it.unive.lisa.interprocedural.ContextBasedAnalysis; import it.unive.lisa.interprocedural.ReturnTopPolicy; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; +import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.CodeMember; import it.unive.lisa.program.cfg.Parameter; @@ -94,30 +94,31 @@ public boolean visit( return true; UnresolvedCall call = (UnresolvedCall) node; - Call resolved = (Call) tool.getResolvedVersion(call); - if (resolved instanceof CFGCall) { - CFGCall cfg = (CFGCall) resolved; - for (CodeMember n : cfg.getTargets()) { - Parameter[] parameters = n.getDescriptor().getFormals(); - for (int i = 0; i < parameters.length; i++) - if (parameters[i].getAnnotations().contains(BaseTaint.CLEAN_MATCHER)) - for (AnalyzedCFG< - SimpleAbstractState< - MonolithicHeap, - ValueEnvironment, - TypeEnvironment>, - MonolithicHeap, - ValueEnvironment, - TypeEnvironment> result : tool.getResultOf(call.getCFG())) { - AnalysisState, - TypeEnvironment>, - MonolithicHeap, ValueEnvironment, - TypeEnvironment> post = result - .getAnalysisStateAfter(call.getParameters()[i]); + try { + for (AnalyzedCFG< + SimpleAbstractState< + MonolithicHeap, + ValueEnvironment, + TypeEnvironment>, + MonolithicHeap, + ValueEnvironment, + TypeEnvironment> result : tool.getResultOf(call.getCFG())) { - try { - for (SymbolicExpression e : post.rewrite(post.getComputedExpressions(), node)) { + Call resolved = (Call) tool.getResolvedVersion(call, result); + if (resolved instanceof CFGCall) { + CFGCall cfg = (CFGCall) resolved; + for (CodeMember n : cfg.getTargets()) { + Parameter[] parameters = n.getDescriptor().getFormals(); + for (int i = 0; i < parameters.length; i++) + if (parameters[i].getAnnotations().contains(BaseTaint.CLEAN_MATCHER)) { + AnalysisState, + TypeEnvironment>, + MonolithicHeap, ValueEnvironment, + TypeEnvironment> post = result + .getAnalysisStateAfter(call.getParameters()[i]); + for (SymbolicExpression e : post.rewrite(post.getComputedExpressions(), + node)) { T stack = post .getState() .getValueState() @@ -127,11 +128,12 @@ public boolean visit( else if (stack.isPossiblyTainted()) tool.warnOn(call, "Parameter " + i + " is possibly tainted"); } - } catch (SemanticException e1) { - e1.printStackTrace(); } - } + } + } } + } catch (SemanticException e1) { + e1.printStackTrace(); } return true; diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/visualization/VisualizationTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/visualization/VisualizationTest.java index dd6aa56d9..9b21fbf12 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/visualization/VisualizationTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/visualization/VisualizationTest.java @@ -11,9 +11,9 @@ import it.unive.lisa.analysis.value.TypeDomain; import it.unive.lisa.analysis.value.ValueDomain; import it.unive.lisa.conf.LiSAConfiguration.GraphType; -import it.unive.lisa.interprocedural.ContextBasedAnalysis; -import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; +import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; +import it.unive.lisa.interprocedural.context.FullStackToken; import java.util.Collection; import java.util.HashSet; import org.junit.AfterClass; @@ -27,7 +27,7 @@ private static CronConfiguration config() throws AnalysisSetupException { getDefaultFor(HeapDomain.class), getDefaultFor(ValueDomain.class), getDefaultFor(TypeDomain.class)); - conf.interproceduralAnalysis = new ContextBasedAnalysis<>(RecursionFreeToken.getSingleton()); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(FullStackToken.getSingleton()); conf.callGraph = new RTACallGraph(); return conf; } diff --git a/lisa/lisa-analyses/src/test/java/it/unive/lisa/program/cfg/SemanticsSanityTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/program/cfg/SemanticsSanityTest.java index f46c5af46..a5d13a1e5 100644 --- a/lisa/lisa-analyses/src/test/java/it/unive/lisa/program/cfg/SemanticsSanityTest.java +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/program/cfg/SemanticsSanityTest.java @@ -384,6 +384,8 @@ else if (param == ValueDomain.class) return interprocedural; if (param == ScopeId.class) return new UniqueScope(); + if (param == Lattice.class) + return new Sign(); throw new UnsupportedOperationException( "No default domain for domain " + root + " and parameter of type " + param); diff --git a/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPAddOrConcat.java b/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPAddOrConcat.java index 59b4c7de1..de78a535b 100644 --- a/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPAddOrConcat.java +++ b/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPAddOrConcat.java @@ -21,6 +21,7 @@ import it.unive.lisa.type.NumericType; import it.unive.lisa.type.Type; import it.unive.lisa.type.TypeSystem; +import it.unive.lisa.type.Untyped; /** * An expression modeling the plus operation ({@code +}) that, in some @@ -94,11 +95,12 @@ else if (tright.isNumericType() || tright.isUntyped()) if (op == null) continue; + Type t = Type.commonSupertype( + op.typeInference(types, left.getRuntimeTypes(types), right.getRuntimeTypes(types)), + Untyped.INSTANCE); result = result.lub(state.smallStepSemantics( new BinaryExpression( - op == StringConcat.INSTANCE - ? StringType.INSTANCE - : getStaticType(), + t, left, right, op, diff --git a/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPNewObj.java b/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPNewObj.java index ee5a73768..c990bd948 100644 --- a/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPNewObj.java +++ b/lisa/lisa-imp/src/main/java/it/unive/lisa/imp/expressions/IMPNewObj.java @@ -95,9 +95,6 @@ T extends TypeDomain> AnalysisState expressionSemantics( type.toString(), fullExpressions); AnalysisState sem = call.expressionSemantics(interprocedural, tmp, fullParams, expressions); - if (!call.getMetaVariables().isEmpty()) - sem = sem.forgetIdentifiers(call.getMetaVariables()); - // now remove the instrumented receiver expressions.forget(paramThis); for (SymbolicExpression v : callstate.getComputedExpressions()) diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/LiSARunner.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/LiSARunner.java index 7399d1131..e9ae3a276 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/LiSARunner.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/LiSARunner.java @@ -207,9 +207,7 @@ private void analyze(Collection allCFGs, FileManager fileManager, AtomicBoo SerializableGraph graph = result.toSerializableGraph(labeler); String filename = cfg.getDescriptor().getFullSignatureWithParNames(); if (!result.getId().isStartingId()) - // we use the string for compatibility with older file - // names - filename += "_" + result.getId().toString().hashCode(); + filename += "_" + result.getId().hashCode(); try { if (conf.serializeResults) diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/OptimizedAnalyzedCFG.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/OptimizedAnalyzedCFG.java index 46d2f1c4e..e596bc59f 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/OptimizedAnalyzedCFG.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/OptimizedAnalyzedCFG.java @@ -28,7 +28,6 @@ import it.unive.lisa.program.cfg.statement.call.OpenCall; import it.unive.lisa.program.cfg.statement.call.UnresolvedCall; import it.unive.lisa.symbolic.SymbolicExpression; -import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.type.Type; import it.unive.lisa.util.collections.workset.FIFOWorkingSet; import it.unive.lisa.util.collections.workset.WorkingSet; @@ -232,6 +231,29 @@ public void unwind() { }); } + /** + * Yields whether or not the non-unwinded results of this cfg contain the + * poststate of the given statement. + * + * @param st the statement + * + * @return whether or not a poststate for {@code st} exists + */ + public boolean hasPostStateOf(Statement st) { + return results.getKeys().contains(st); + } + + /** + * Stores the given poststate for the statement in the non-unwinded results + * of this cfg, overwriting any existing value. + * + * @param st the statement + * @param postState the poststate + */ + public void storePostStateOf(Statement st, AnalysisState postState) { + results.put(st, postState); + } + private class PrecomputedAnalysis implements InterproceduralAnalysis { @Override @@ -239,6 +261,7 @@ public void init(Application app, CallGraph callgraph, OpenCallPolicy policy) throws InterproceduralAnalysisException { + throw new UnsupportedOperationException(); } @Override @@ -251,7 +274,7 @@ public void fixpoint(AnalysisState entryState, @Override public Collection> getAnalysisResultsOf(CFG cfg) { - return interprocedural.getAnalysisResultsOf(cfg); + throw new UnsupportedOperationException(); } @Override @@ -261,21 +284,17 @@ public AnalysisState getAbstractResultOf( ExpressionSet[] parameters, StatementStore expressions) throws SemanticException { + Call source = call.getSource() == null ? call : call.getSource(); + if (results.getKeys().contains(source)) + return results.getState(source); + FixpointResults precomputed = interprocedural.getFixpointResults(); ScopeToken scope = new ScopeToken(call); - ScopeId id = getId().push(scope); + ScopeId id = getId().push(call); AnalysisState state = entryState.bottom(); for (CFG target : call.getTargetedCFGs()) { AnalysisState res = precomputed.getState(target).getState(id).getExitState(); - - // store the return value of the call inside the meta variable - AnalysisState tmp = entryState.bottom(); - Identifier meta = (Identifier) call.getMetaVariable().pushScope(scope); - for (SymbolicExpression ret : res.getComputedExpressions()) - tmp = tmp.lub(res.assign(meta, ret, call)); - - // save the resulting state - state = state.lub(tmp.popScope(scope)); + state = state.lub(unscope(call, scope, res)); } return state; } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericInverseSetLattice.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericInverseSetLattice.java new file mode 100644 index 000000000..73a9b4eb7 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericInverseSetLattice.java @@ -0,0 +1,68 @@ +package it.unive.lisa.analysis.lattices; + +import java.util.Collections; +import java.util.Set; + +/** + * A generic ready-to-use {@link InverseSetLattice} with no additional fields, + * that relies on an underlying boolean value for distinguishing top and bottom + * values. + * + * @author Luca Negrini + * + * @param the type of elements of this set + */ +public class GenericInverseSetLattice extends InverseSetLattice, E> { + + /** + * Builds an empty set representing the top element. + */ + public GenericInverseSetLattice() { + super(Collections.emptySet(), true); + } + + /** + * Builds a set containing only the given element. + * + * @param element the element + */ + public GenericInverseSetLattice(E element) { + super(Collections.singleton(element), true); + } + + /** + * Builds a set with all the given elements. + * + * @param elements the elements + */ + public GenericInverseSetLattice(Set elements) { + super(elements, true); + } + + /** + * Builds a set with all the given elements, also specifying whether an + * empty set should be considered top or bottom. + * + * @param elements the elements + * @param isTop if {@code elements} is empty, specifies if this set + * should be considered top or bottom + */ + public GenericInverseSetLattice(Set elements, boolean isTop) { + super(elements, isTop); + } + + @Override + public GenericInverseSetLattice top() { + return new GenericInverseSetLattice<>(Collections.emptySet(), true); + } + + @Override + public GenericInverseSetLattice bottom() { + return new GenericInverseSetLattice<>(Collections.emptySet(), false); + } + + @Override + public GenericInverseSetLattice mk(Set set) { + return new GenericInverseSetLattice<>(set); + } +} diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericMapLattice.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericMapLattice.java new file mode 100644 index 000000000..584601b58 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericMapLattice.java @@ -0,0 +1,54 @@ +package it.unive.lisa.analysis.lattices; + +import it.unive.lisa.analysis.Lattice; +import java.util.Map; + +/** + * A generic ready-to-use {@link FunctionalLattice} with no additional fields, + * that relies on the underlying lattice instance for distinguishing top and + * bottom values. + * + * @author Luca Negrini + * + * @param the type of keys of this map + * @param the type of values of this map + */ +public class GenericMapLattice> + extends FunctionalLattice, K, V> { + + /** + * Builds the map. + * + * @param lattice the underlying lattice of values + */ + public GenericMapLattice(V lattice) { + super(lattice); + } + + /** + * Builds the map. + * + * @param lattice the underlying lattice of values (if {@code function} is + * null or empty, this decides whether the created + * object is top or bottom) + * @param function the function containing the mapping + */ + public GenericMapLattice(V lattice, Map function) { + super(lattice, function); + } + + @Override + public GenericMapLattice top() { + return new GenericMapLattice<>(lattice.top()); + } + + @Override + public GenericMapLattice bottom() { + return new GenericMapLattice<>(lattice.bottom()); + } + + @Override + public GenericMapLattice mk(V lattice, Map function) { + return new GenericMapLattice<>(lattice, function); + } +} diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericSetLattice.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericSetLattice.java new file mode 100644 index 000000000..e1421fd38 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericSetLattice.java @@ -0,0 +1,68 @@ +package it.unive.lisa.analysis.lattices; + +import java.util.Collections; +import java.util.Set; + +/** + * A generic ready-to-use {@link SetLattice} with no additional fields, that + * relies on an underlying boolean value for distinguishing top and bottom + * values. + * + * @author Luca Negrini + * + * @param the type of elements of this set + */ +public class GenericSetLattice extends SetLattice, E> { + + /** + * Builds an empty set representing the top element. + */ + public GenericSetLattice() { + super(Collections.emptySet(), true); + } + + /** + * Builds a set containing only the given element. + * + * @param element the element + */ + public GenericSetLattice(E element) { + super(Collections.singleton(element), true); + } + + /** + * Builds a set with all the given elements. + * + * @param elements the elements + */ + public GenericSetLattice(Set elements) { + super(elements, true); + } + + /** + * Builds a set with all the given elements, also specifying whether an + * empty set should be considered top or bottom. + * + * @param elements the elements + * @param isTop if {@code elements} is empty, specifies if this set + * should be considered top or bottom + */ + public GenericSetLattice(Set elements, boolean isTop) { + super(elements, isTop); + } + + @Override + public GenericSetLattice top() { + return new GenericSetLattice<>(Collections.emptySet(), true); + } + + @Override + public GenericSetLattice bottom() { + return new GenericSetLattice<>(Collections.emptySet(), false); + } + + @Override + public GenericSetLattice mk(Set set) { + return new GenericSetLattice<>(set); + } +} diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValue.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValue.java index 8acc51bcc..dfc8f2c50 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValue.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/inference/BaseInferredValue.java @@ -134,8 +134,8 @@ public InferredPair visit(TernaryExpression expression, InferredPair left, @Override public InferredPair visit(Skip expression, Object... params) throws SemanticException { - T bot = singleton.bottom(); - return new InferredPair<>(bot, bot, bot); + return singleton.evalSkip(expression, ((InferenceSystem) params[0]).getExecutionState(), + (ProgramPoint) params[1]); } @Override @@ -262,6 +262,23 @@ default InferredPair evalIdentifier(Identifier id, InferenceSystem environ return new InferredPair<>((T) this, environment.getState(id), environment.getExecutionState()); } + /** + * Yields the evaluation of a skip expression. + * + * @param skip the skip expression to be evaluated + * @param state the current execution state + * @param pp the program point that where this operation is being + * evaluated + * + * @return the evaluation of the skip expression + * + * @throws SemanticException if an error occurs during the computation + */ + default InferredPair evalSkip(Skip skip, T state, ProgramPoint pp) throws SemanticException { + T bot = bottom(); + return new InferredPair<>(bot, bot, bot); + } + /** * Yields the evaluation of a push-any expression. * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomain.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomain.java index e99e45f8b..66ab6d41a 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomain.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalTypeDomain.java @@ -126,7 +126,7 @@ public T visit(TernaryExpression expression, T left, T middle, T right, Object.. @Override public T visit(Skip expression, Object... params) throws SemanticException { - return singleton.bottom(); + return singleton.evalSkip(expression, (ProgramPoint) params[1]); } @Override @@ -254,6 +254,21 @@ default T evalIdentifier(Identifier id, TypeEnvironment environment, ProgramP return environment.getState(id); } + /** + * Yields the evaluation of a skip expression. + * + * @param skip the skip expression to be evaluated + * @param pp the program point that where this operation is being + * evaluated + * + * @return the evaluation of the skip expression + * + * @throws SemanticException if an error occurs during the computation + */ + default T evalSkip(Skip skip, ProgramPoint pp) throws SemanticException { + return bottom(); + } + /** * Yields the evaluation of a push-any expression. * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomain.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomain.java index 0f3eb370b..cc54f8877 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomain.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/value/BaseNonRelationalValueDomain.java @@ -126,7 +126,7 @@ public T visit(TernaryExpression expression, T left, T middle, T right, Object.. @Override public T visit(Skip expression, Object... params) throws SemanticException { - return singleton.bottom(); + return singleton.evalSkip(expression, (ProgramPoint) params[1]); } @Override @@ -254,6 +254,21 @@ default T evalIdentifier(Identifier id, ValueEnvironment environment, Program return environment.getState(id); } + /** + * Yields the evaluation of a skip expression. + * + * @param skip the skip expression to be evaluated + * @param pp the program point that where this operation is being + * evaluated + * + * @return the evaluation of the skip expression + * + * @throws SemanticException if an error occurs during the computation + */ + default T evalSkip(Skip skip, ProgramPoint pp) throws SemanticException { + return bottom(); + } + /** * Yields the evaluation of a push-any expression. * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResults.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResults.java index 4d6a064de..4e07b6c8d 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResults.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResults.java @@ -2,6 +2,8 @@ import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalyzedCFG; +import it.unive.lisa.analysis.SemanticException; +import it.unive.lisa.analysis.StatementStore; import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.value.TypeDomain; import it.unive.lisa.analysis.value.ValueDomain; @@ -11,6 +13,7 @@ import it.unive.lisa.interprocedural.callgraph.CallResolutionException; import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.CodeMember; +import it.unive.lisa.program.cfg.statement.Expression; import it.unive.lisa.program.cfg.statement.call.Call; import it.unive.lisa.program.cfg.statement.call.UnresolvedCall; import it.unive.lisa.util.file.FileManager; @@ -124,13 +127,20 @@ public Collection getCallSites(CodeMember cm) { * {@link CallGraph} that has been built during the analysis. Yields * {@code null} if the call cannot be resolved (i.e. an exception happened). * - * @param call the call to resolve + * @param call the call to resolve + * @param result the result that contains the post states of each parameter * * @return the resolved version of the given call, or {@code null} + * + * @throws SemanticException if something goes wrong during the computation */ - public Call getResolvedVersion(UnresolvedCall call) { + public Call getResolvedVersion(UnresolvedCall call, AnalyzedCFG result) throws SemanticException { + StatementStore store = new StatementStore<>(result.getEntryState().bottom()); + for (Expression e : call.getParameters()) + store.put(e, result.getAnalysisStateAfter(e)); + try { - return callgraph.resolve(call, null, null); + return callgraph.resolve(call, call.parameterTypes(store), null); } catch (CallResolutionException e) { return null; } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/FixpointConfiguration.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/FixpointConfiguration.java index b7971a615..1c67e9885 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/FixpointConfiguration.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/FixpointConfiguration.java @@ -16,6 +16,11 @@ public class FixpointConfiguration extends BaseConfiguration { */ public final int wideningThreshold; + /** + * Holder of {@link LiSAConfiguration#recursionWideningThreshold}. + */ + public final int recursionWideningThreshold; + /** * Holder of {@link LiSAConfiguration#glbThreshold}. */ @@ -43,6 +48,7 @@ public class FixpointConfiguration extends BaseConfiguration { */ public FixpointConfiguration(LiSAConfiguration parent) { this.wideningThreshold = parent.wideningThreshold; + this.recursionWideningThreshold = parent.recursionWideningThreshold; this.glbThreshold = parent.glbThreshold; this.descendingPhaseType = parent.descendingPhaseType; this.optimize = parent.optimize; diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/LiSAConfiguration.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/LiSAConfiguration.java index 2a9929c1a..7e21f3775 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/LiSAConfiguration.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/conf/LiSAConfiguration.java @@ -14,6 +14,7 @@ import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.statement.Statement; import it.unive.lisa.program.cfg.statement.call.OpenCall; +import it.unive.lisa.util.collections.CollectionUtilities; import it.unive.lisa.util.collections.workset.DuplicateFreeFIFOWorkingSet; import it.unive.lisa.util.collections.workset.WorkingSet; import it.unive.lisa.util.file.FileManager; @@ -25,9 +26,7 @@ import java.util.Map; import java.util.TreeMap; import java.util.function.Predicate; -import java.util.stream.Collectors; import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringUtils; /** * A holder for the configuration of a {@link LiSA} analysis. @@ -228,6 +227,14 @@ public static enum DescendingPhaseType { */ public int wideningThreshold = DEFAULT_WIDENING_THRESHOLD; + /** + * The number of fixpoint iteration over a recursive call chain after which + * calls to {@link Lattice#lub(Lattice)} gets replaced with + * {@link Lattice#widening(Lattice)} to stabilize the results. Defaults to + * {@link #DEFAULT_WIDENING_THRESHOLD}. + */ + public int recursionWideningThreshold = DEFAULT_WIDENING_THRESHOLD; + /** * The number of descending fixpoint iteration on a given node where * {@link Lattice#glb(Lattice)} can be applied. After the threshold is @@ -347,8 +354,8 @@ public Map toPropertyBag() { String val; if (Collection.class.isAssignableFrom(field.getType())) - val = StringUtils.join(((Collection) value).stream().map(e -> e.getClass().getSimpleName()) - .sorted().collect(Collectors.toList()), ", "); + val = ((Collection) value).stream().map(e -> e.getClass().getSimpleName()) + .sorted().collect(new CollectionUtilities.StringCollector<>(", ")); else if (Class.class.isAssignableFrom(field.getType())) val = ((Class) value).getSimpleName(); else if (OpenCallPolicy.class.isAssignableFrom(field.getType())) diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/CFGResults.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/CFGResults.java index 4da827bd2..9f9f69155 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/CFGResults.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/CFGResults.java @@ -2,6 +2,7 @@ import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalyzedCFG; +import it.unive.lisa.analysis.Lattice; import it.unive.lisa.analysis.SemanticException; import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.lattices.FunctionalLattice; @@ -122,6 +123,20 @@ public boolean contains(ScopeId token) { return function != null && function.containsKey(token); } + /** + * Yields the recorded result for the given {@code token}. This differs from + * {@link #getState(Object)} as it returns {@code null} instead of + * {@link Lattice#bottom()} if there is no recorded result for the given + * token. + * + * @param token the {@link ScopeId} that identifying the result + * + * @return the result, or {@code null} + */ + public AnalyzedCFG get(ScopeId token) { + return function == null ? null : function.get(token); + } + /** * Yields all the results stored in this object, for any possible * {@link ScopeId} used. diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/FixpointResults.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/FixpointResults.java index e5f72925c..f400d725e 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/FixpointResults.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/FixpointResults.java @@ -2,6 +2,7 @@ import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalyzedCFG; +import it.unive.lisa.analysis.Lattice; import it.unive.lisa.analysis.SemanticException; import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.lattices.FunctionalLattice; @@ -81,6 +82,20 @@ public boolean contains(CFG cfg) { return function != null && function.containsKey(cfg); } + /** + * Yields the recorded result for the given {@code cfg}. This differs from + * {@link #getState(Object)} as it returns {@code null} instead of + * {@link Lattice#bottom()} if there is no recorded result for the given + * cfg. + * + * @param cfg the {@link CFG} whose result is to be checked + * + * @return the result, or {@code null} + */ + public CFGResults get(CFG cfg) { + return function == null ? null : function.get(cfg); + } + @Override public FixpointResults top() { return new FixpointResults<>(lattice.top()); diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/InterproceduralAnalysis.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/InterproceduralAnalysis.java index 6abf7e60e..1e80e0270 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/InterproceduralAnalysis.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/InterproceduralAnalysis.java @@ -3,6 +3,7 @@ import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalysisState; import it.unive.lisa.analysis.AnalyzedCFG; +import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.analysis.SemanticException; import it.unive.lisa.analysis.StatementStore; import it.unive.lisa.analysis.heap.HeapDomain; @@ -15,22 +16,32 @@ import it.unive.lisa.interprocedural.callgraph.CallResolutionException; import it.unive.lisa.program.Application; import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.NativeCFG; +import it.unive.lisa.program.cfg.statement.MetaVariableCreator; import it.unive.lisa.program.cfg.statement.Statement; import it.unive.lisa.program.cfg.statement.call.CFGCall; import it.unive.lisa.program.cfg.statement.call.Call; +import it.unive.lisa.program.cfg.statement.call.MultiCall; +import it.unive.lisa.program.cfg.statement.call.NativeCall; import it.unive.lisa.program.cfg.statement.call.OpenCall; +import it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall; import it.unive.lisa.program.cfg.statement.call.UnresolvedCall; import it.unive.lisa.symbolic.SymbolicExpression; import it.unive.lisa.symbolic.value.Identifier; +import it.unive.lisa.symbolic.value.Skip; import it.unive.lisa.type.Type; +import it.unive.lisa.type.VoidType; import it.unive.lisa.util.collections.workset.WorkingSet; import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; import java.util.Collection; import java.util.Set; +import org.apache.commons.lang3.tuple.Pair; /** * The definition of interprocedural analyses. * + * @author Luca Negrini + * * @param the type of {@link AbstractState} contained into the analysis * state * @param the type of {@link HeapDomain} contained into the computed @@ -40,13 +51,17 @@ * @param the type of {@link TypeDomain} contained into the computed * abstract state */ -public interface InterproceduralAnalysis, +public interface InterproceduralAnalysis< + A extends AbstractState, H extends HeapDomain, V extends ValueDomain, T extends TypeDomain> { /** - * Initializes the interprocedural analysis of the given program. + * Initializes the interprocedural analysis of the given program. A call to + * this method should effectively re-initialize the interprocedural analysis + * as if it is yet to be used. This is useful when the same instance is used + * in multiple analyses. * * @param callgraph the callgraph used to resolve method calls * @param app the application to analyze @@ -167,8 +182,7 @@ AnalysisState getAbstractResultOf( * @throws CallResolutionException if this analysis is unable to resolve the * given call */ - Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) - throws CallResolutionException; + Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) throws CallResolutionException; /** * Yields the results of the fixpoint computation over the whole @@ -177,4 +191,129 @@ Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) * @return the results of the fixpoint */ FixpointResults getFixpointResults(); + + /** + * Converts the pre-state of {@code call} to a valid entry state for one of + * its targets. Specifically, the state returned by this method corresponds + * to the given one modified by (i) pushing the scope that is introduced + * when the call happens (and that can be popped with + * {@link #unscope(CFGCall, ScopeToken, AnalysisState)}), and (ii) + * generating the expressions for the formal parameters by pushing the same + * scope to the ones of the actual parameters. + * + * @param scope the scope corresponding to the call + * @param state the exit state of the call's target + * @param actuals the expressions representing the actual parameters at the + * program point of the call + * + * @return a pair containing the computed call state and the expressions + * corresponding to the formal parameters + * + * @throws SemanticException if something goes wrong during the computation + */ + @SuppressWarnings("unchecked") + default Pair, ExpressionSet[]> scope( + AnalysisState state, + ScopeToken scope, + ExpressionSet[] actuals) + throws SemanticException { + ExpressionSet[] locals = new ExpressionSet[actuals.length]; + AnalysisState callState = state.pushScope(scope); + for (int i = 0; i < actuals.length; i++) + locals[i] = actuals[i].pushScope(scope); + return Pair.of(callState, locals); + } + + /** + * Converts the exit state of a cfg that was invoked by {@code call} to a + * valid post-state of {@code call}. Specifically, the state returned by + * this method corresponds to the given one modified by (i) popping the + * scope introduced before the call happened (see + * {@link #scope(AnalysisState, ScopeToken, ExpressionSet[])}), and (ii) + * storing the returned value on the meta-variable left on the stack, if + * any. + * + * @param call the call that caused the computation of the given state + * through a fixpoint computation + * @param scope the scope corresponding to the call + * @param state the exit state of the call's target + * + * @return the state that can be returned by the call + * + * @throws SemanticException if something goes wrong during the computation + */ + default AnalysisState unscope( + CFGCall call, + ScopeToken scope, + AnalysisState state) + throws SemanticException { + if (returnsVoid(call, state)) + return state.popScope(scope); + + AnalysisState tmp = state.bottom(); + Identifier meta = (Identifier) call.getMetaVariable().pushScope(scope); + for (SymbolicExpression ret : state.getComputedExpressions()) + tmp = tmp.lub(state.assign(meta, ret, call)); + + return tmp.popScope(scope); + } + + /** + * Yields whether or if this call returned no value or its return type is + * {@link VoidType}. If this method returns {@code true}, then no value + * should be assigned to the call's meta variable. + * + * @param call the call + * @param returned the post-state of the call + * + * @return {@code true} if that condition holds + */ + default boolean returnsVoid(Call call, AnalysisState returned) { + if (call.getStaticType().isVoidType()) + return true; + + if (!call.getStaticType().isUntyped()) + return false; + + if (call instanceof CFGCall) { + CFGCall cfgcall = (CFGCall) call; + Collection targets = cfgcall.getTargetedCFGs(); + if (!targets.isEmpty()) + return !targets.iterator() + .next() + .getNormalExitpoints() + .stream() + // returned values will be stored in meta variables + .anyMatch(st -> st instanceof MetaVariableCreator); + } + + if (call instanceof NativeCall) { + NativeCall nativecall = (NativeCall) call; + Collection targets = nativecall.getTargetedConstructs(); + if (!targets.isEmpty()) + // native cfgs will always rewrite to expressions and return a + // value + return false; + } + + if (call instanceof TruncatedParamsCall) + return returnsVoid(((TruncatedParamsCall) call).getInnerCall(), returned); + + if (call instanceof MultiCall) { + MultiCall multicall = (MultiCall) call; + Collection targets = multicall.getCalls(); + if (!targets.isEmpty()) + // we get the return type from one of its targets + return returnsVoid(targets.iterator().next(), returned); + } + + if (returned != null) + if (returned.getComputedExpressions().isEmpty()) + return true; + else if (returned.getComputedExpressions().size() == 1 + && returned.getComputedExpressions().iterator().next() instanceof Skip) + return true; + + return false; + } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/OpenCallPolicy.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/OpenCallPolicy.java index 6267223f4..bdd39cb66 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/OpenCallPolicy.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/OpenCallPolicy.java @@ -19,11 +19,6 @@ */ public interface OpenCallPolicy { - /** - * The name of the variable storing the return value of the call, if any. - */ - public static final String RETURNED_VARIABLE_NAME = "open_call_return"; - /** * Applies the policy to the given open call. * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ReturnTopPolicy.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ReturnTopPolicy.java index ddb62ec52..95b01e4bb 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ReturnTopPolicy.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ReturnTopPolicy.java @@ -9,16 +9,15 @@ import it.unive.lisa.analysis.value.ValueDomain; import it.unive.lisa.program.cfg.statement.call.OpenCall; import it.unive.lisa.symbolic.SymbolicExpression; +import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.symbolic.value.PushAny; import it.unive.lisa.symbolic.value.Skip; -import it.unive.lisa.symbolic.value.Variable; /** * An {@link OpenCallPolicy}, where the post state is exactly the entry state, - * with the only difference of having a synthetic variable named - * {@value OpenCallPolicy#RETURNED_VARIABLE_NAME} assigned to top only if - * the call returns a value. This variable, that is also stored as computed - * expression, represent the unknown result of the call, if any. + * with the only difference of having a the call's meta variable assigned to top + * only if the call returns a value. This variable, that is also stored + * as computed expression, represent the unknown result of the call, if any. * * @author Luca Negrini */ @@ -46,7 +45,7 @@ T extends TypeDomain> AnalysisState apply( return entryState.smallStepSemantics(new Skip(call.getLocation()), call); else { PushAny pushany = new PushAny(call.getStaticType(), call.getLocation()); - Variable var = new Variable(call.getStaticType(), RETURNED_VARIABLE_NAME, call.getLocation()); + Identifier var = call.getMetaVariable(); return entryState.assign(var, pushany, call); } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ScopeId.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ScopeId.java index 89297a63e..d0794c3bf 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ScopeId.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/ScopeId.java @@ -1,7 +1,7 @@ package it.unive.lisa.interprocedural; -import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.statement.call.CFGCall; /** * An identifier for an {@link InterproceduralAnalysis} to distinguish different @@ -28,11 +28,11 @@ public interface ScopeId { boolean isStartingId(); /** - * Transforms the current scope id by appending the given scope token. + * Transforms the current scope id by appending the given call. * - * @param scopeToken the token to append + * @param c the call to append * * @return the (optionally) updated id */ - ScopeId push(ScopeToken scopeToken); + ScopeId push(CFGCall c); } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/UniqueScope.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/UniqueScope.java index 87f30437c..f984d5e3f 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/UniqueScope.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/UniqueScope.java @@ -1,6 +1,6 @@ package it.unive.lisa.interprocedural; -import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.program.cfg.statement.call.CFGCall; /** * A {@link ScopeId} for analyses that do not make distinction between different @@ -16,7 +16,7 @@ public ScopeId startingId() { } @Override - public ScopeId push(ScopeToken scopeToken) { + public ScopeId push(CFGCall scopeToken) { return this; } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/WorstCasePolicy.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/WorstCasePolicy.java index c97c89865..7ebf5e212 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/WorstCasePolicy.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/WorstCasePolicy.java @@ -9,13 +9,13 @@ import it.unive.lisa.analysis.value.ValueDomain; import it.unive.lisa.program.cfg.statement.call.OpenCall; import it.unive.lisa.symbolic.SymbolicExpression; +import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.symbolic.value.Skip; -import it.unive.lisa.symbolic.value.Variable; /** * A worst-case {@link OpenCallPolicy}, where the whole analysis state becomes - * top and all information is lost. The return value, if any, is stored in a - * variable named {@value OpenCallPolicy#RETURNED_VARIABLE_NAME}. + * top and all information is lost. The return value, if any, is stored in the + * call's meta variable. * * @author Luca Negrini */ @@ -43,7 +43,7 @@ T extends TypeDomain> AnalysisState apply( if (call.getStaticType().isVoidType()) return poststate.smallStepSemantics(new Skip(call.getLocation()), call); else { - Variable var = new Variable(call.getStaticType(), RETURNED_VARIABLE_NAME, call.getLocation()); + Identifier var = call.getMetaVariable(); return poststate.smallStepSemantics(var, call); } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraph.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraph.java index 9108a8694..3dea3f822 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraph.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraph.java @@ -26,15 +26,15 @@ import it.unive.lisa.program.language.hierarchytraversal.HierarcyTraversalStrategy; import it.unive.lisa.program.language.resolution.ParameterMatchingStrategy; import it.unive.lisa.type.Type; -import it.unive.lisa.util.datastructures.graph.BaseGraph; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.IdentityHashMap; +import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -50,8 +50,7 @@ * @author Luca Negrini and * Pietro Ferrara */ -public abstract class BaseCallGraph extends BaseGraph - implements CallGraph { +public abstract class BaseCallGraph extends CallGraph { private static final Logger LOG = LogManager.getLogger(BaseCallGraph.class); @@ -59,11 +58,14 @@ public abstract class BaseCallGraph extends BaseGraph> callsites = new HashMap<>(); - private final Map resolvedCache = new IdentityHashMap<>(); + private final Map>, Call>> resolvedCache = new IdentityHashMap<>(); @Override public void init(Application app) throws CallGraphConstructionException { + super.init(app); this.app = app; + this.callsites.clear(); + this.resolvedCache.clear(); } @Override @@ -91,7 +93,8 @@ public void registerCall(CFGCall call) { @SuppressWarnings("unchecked") public Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) throws CallResolutionException { - Call cached = resolvedCache.get(call); + List> typeList = Arrays.asList(types); + Call cached = resolvedCache.getOrDefault(call, Map.of()).get(typeList); if (cached != null) return cached; @@ -178,7 +181,7 @@ else if (onlyNativeCFGTargets(targets, nativeTargets, targetsNoRec, nativeTarget resolved.setOffset(call.getOffset()); resolved.setSource(call); - resolvedCache.put(call, resolved); + resolvedCache.computeIfAbsent(call, c -> new HashMap<>()).put(typeList, resolved); CallGraphNode source = new CallGraphNode(this, call.getCFG()); if (!adjacencyMatrix.containsNode(source)) @@ -464,18 +467,6 @@ public boolean matchCodeMemberName(UnresolvedCall call, String qualifier, String public abstract Collection getPossibleTypesOfReceiver(Expression receiver, Set types) throws CallResolutionException; - @Override - public Collection getCallees(CodeMember cm) { - return followersOf(new CallGraphNode(this, cm)).stream().map(CallGraphNode::getCodeMember) - .collect(Collectors.toList()); - } - - @Override - public Collection getCallers(CodeMember cm) { - return predecessorsOf(new CallGraphNode(this, cm)).stream().map(CallGraphNode::getCodeMember) - .collect(Collectors.toList()); - } - @Override public Collection getCallSites(CodeMember cm) { return callsites.getOrDefault(cm, Collections.emptyList()); diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraph.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraph.java index 7f619d772..9e8078969 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraph.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraph.java @@ -7,8 +7,14 @@ import it.unive.lisa.program.cfg.statement.call.Call; import it.unive.lisa.program.cfg.statement.call.UnresolvedCall; import it.unive.lisa.type.Type; +import it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet; +import it.unive.lisa.util.collections.workset.VisitOnceWorkingSet; +import it.unive.lisa.util.datastructures.graph.BaseGraph; +import it.unive.lisa.util.datastructures.graph.algorithms.SCCs; import java.util.Collection; +import java.util.HashSet; import java.util.Set; +import java.util.stream.Collectors; /** * A callgraph of the program to analyze, that knows how to resolve dynamic @@ -16,17 +22,22 @@ * * @author Luca Negrini */ -public interface CallGraph { +public abstract class CallGraph extends BaseGraph { /** - * Initializes the call graph of the given program. + * Initializes the call graph of the given program. A call to this method + * should effectively re-initialize the call graph as if it is yet to be + * used. This is useful when the same instance is used in multiple analyses. * * @param app the application to analyze * * @throws CallGraphConstructionException if an exception happens while * building the call graph */ - void init(Application app) throws CallGraphConstructionException; + public void init(Application app) throws CallGraphConstructionException { + entrypoints.clear(); + adjacencyMatrix.clear(); + } /** * Yields a {@link Call} implementation that corresponds to the resolution @@ -41,7 +52,7 @@ public interface CallGraph { * @throws CallResolutionException if this call graph is unable to resolve * the given call */ - Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) + public abstract Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) throws CallResolutionException; /** @@ -49,18 +60,131 @@ Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) * * @param call the call to register */ - void registerCall(CFGCall call); + public abstract void registerCall(CFGCall call); /** - * Yields all the {@link CodeMember}s that call the given one. The returned + * Yields all the {@link Call}s that target the given {@link CodeMember}. + * The returned collection might contain partial results if this call graph + * is not fully built. + * + * @param cm the target code member + * + * @return the collection of calls that target the code member + */ + public abstract Collection getCallSites(CodeMember cm); + + /** + * Yields all the {@link Call}s that target at least one of the given + * {@link CodeMember}s. The returned collection might contain partial + * results if this call graph is not fully built. + * + * @param cms the target code members + * + * @return the collection of calls that target the code members + */ + public Collection getCallSites(Collection cms) { + Set result = new HashSet<>(); + cms.forEach(cm -> getCallSites(cm).stream().forEach(result::add)); + return result; + } + + /** + * Yields all the {@link CodeMember}s that call the given ones. The returned * collection might contain partial results if this call graph is not fully * built. * - * @param cm the target code member + * @param cms the target code members * * @return the collection of callers code members */ - Collection getCallers(CodeMember cm); + public Collection getCallers(Collection cms) { + Set result = new HashSet<>(); + cms.forEach(cm -> getCallers(cm).stream().forEach(result::add)); + return result; + } + + /** + * Yields the transitive closure of {@link #getCallers(CodeMember)}. The + * returned collection might contain partial results if this call graph is + * not fully built. + * + * @param cm the target code member + * + * @return the collection of callers code members computed transitively + */ + public Collection getCallersTransitively(CodeMember cm) { + VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); + getCallers(cm).stream().forEach(ws::push); + while (!ws.isEmpty()) + getCallers(ws.pop()).stream().forEach(ws::push); + return ws.getSeen(); + } + + /** + * Yields the transitive closure of {@link #getCallers(CodeMember)} over + * each given code member. The returned collection might contain partial + * results if this call graph is not fully built. + * + * @param cms the target code members + * + * @return the collection of callers code members computed transitively + */ + public Collection getCallersTransitively(Collection cms) { + VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); + cms.forEach(cm -> getCallers(cm).stream().forEach(ws::push)); + while (!ws.isEmpty()) + getCallers(ws.pop()).stream().forEach(ws::push); + return ws.getSeen(); + } + + /** + * Yields all the {@link CodeMember}s that are called by the given ones. The + * returned collection might contain partial results if this call graph is + * not fully built. + * + * @param cms the target code members + * + * @return the collection of callees code members + */ + public Collection getCallees(Collection cms) { + Set result = new HashSet<>(); + cms.forEach(cm -> getCallees(cm).stream().forEach(result::add)); + return result; + } + + /** + * Yields the transitive closure of {@link #getCallees(CodeMember)}. The + * returned collection might contain partial results if this call graph is + * not fully built. + * + * @param cm the target code member + * + * @return the collection of callees code members computed transitively + */ + public Collection getCalleesTransitively(CodeMember cm) { + VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); + getCallees(cm).stream().forEach(ws::push); + while (!ws.isEmpty()) + getCallees(ws.pop()).stream().forEach(ws::push); + return ws.getSeen(); + } + + /** + * Yields the transitive closure of {@link #getCallees(CodeMember)} of each + * given code member. The returned collection might contain partial results + * if this call graph is not fully built. + * + * @param cms the target code members + * + * @return the collection of callees code members computed transitively + */ + public Collection getCalleesTransitively(Collection cms) { + VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); + cms.forEach(cm -> getCallees(cm).stream().forEach(ws::push)); + while (!ws.isEmpty()) + getCallees(ws.pop()).stream().forEach(ws::push); + return ws.getSeen(); + } /** * Yields all the {@link CodeMember}s that are called by the given one. The @@ -71,16 +195,64 @@ Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) * * @return the collection of called code members */ - Collection getCallees(CodeMember cm); + public Collection getCallees(CodeMember cm) { + return followersOf(new CallGraphNode(this, cm)).stream() + .map(CallGraphNode::getCodeMember) + .collect(Collectors.toList()); + } /** - * Yields all the {@link Call}s that targets the given {@link CodeMember}. - * The returned collection might contain partial results if this call graph - * is not fully built. + * Yields all the {@link CodeMember}s that call the given one. The returned + * collection might contain partial results if this call graph is not fully + * built. * * @param cm the target code member * - * @return the collection of calls that target the code member + * @return the collection of callers code members + */ + public Collection getCallers(CodeMember cm) { + return predecessorsOf(new CallGraphNode(this, cm)).stream() + .map(CallGraphNode::getCodeMember) + .collect(Collectors.toList()); + } + + /** + * Yields all the recursions that happens in the program, in the form of + * collections of the {@link CodeMember}s composing them. + * + * @return the recursions + */ + public Collection> getRecursions() { + Collection> sccs = new SCCs< + CallGraph, + CallGraphNode, + CallGraphEdge>().buildNonTrivial(this); + return sccs.stream() + .map(nodes -> nodes.stream() + .map(node -> node.getCodeMember()) + .collect(Collectors.toSet())) + .collect(Collectors.toSet()); + } + + /** + * Yields all the recursions happening in the program, in the form of + * collections of the {@link CodeMember}s composing them, containing the + * given code member. + * + * @param cm the target code member + * + * @return the recursions */ - Collection getCallSites(CodeMember cm); + public Collection> getRecursionsContaining(CodeMember cm) { + Collection> sccs = new SCCs< + CallGraph, + CallGraphNode, + CallGraphEdge>().buildNonTrivial(this); + return sccs.stream() + .map(nodes -> nodes.stream() + .map(node -> node.getCodeMember()) + .collect(Collectors.toSet())) + .filter(members -> members.contains(cm)) + .collect(Collectors.toSet()); + } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphEdge.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphEdge.java index c9faeb2c5..b2a33213c 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphEdge.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphEdge.java @@ -8,7 +8,7 @@ * * @author Luca Negrini */ -public class CallGraphEdge implements Edge { +public class CallGraphEdge implements Edge { private final CallGraphNode source; private final CallGraphNode destination; @@ -35,7 +35,7 @@ public CallGraphNode getDestination() { } @Override - public boolean accept(GraphVisitor visitor, V tool) { + public boolean accept(GraphVisitor visitor, V tool) { return visitor.visit(tool, source.getGraph(), this); } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphNode.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphNode.java index c2d0adaee..722e8cf23 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphNode.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/interprocedural/callgraph/CallGraphNode.java @@ -9,9 +9,9 @@ * * @author Luca Negrini */ -public class CallGraphNode implements Node { +public class CallGraphNode implements Node { - private final BaseCallGraph graph; + private final CallGraph graph; private final CodeMember cm; /** @@ -20,7 +20,7 @@ public class CallGraphNode implements Node boolean accept(GraphVisitor visitor, V tool) { + public boolean accept(GraphVisitor visitor, V tool) { return visitor.visit(tool, graph, this); } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/controlFlow/IfThenElse.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/controlFlow/IfThenElse.java index 97177a8f9..8d4801cf4 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/controlFlow/IfThenElse.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/controlFlow/IfThenElse.java @@ -113,7 +113,9 @@ public String toString() { @Override public Collection getTargetedStatements() { Collection targeted = new HashSet<>(cfgMatrix.followersOf(getCondition())); - targeted.add(getFirstFollower()); + Statement follower = getFirstFollower(); + if (follower != null) + targeted.add(follower); return targeted; } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/AscendingFixpoint.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/AscendingFixpoint.java index 6f0505a9d..060211d04 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/AscendingFixpoint.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/AscendingFixpoint.java @@ -59,7 +59,7 @@ public CompoundState operation(Statement node, CompoundState old) throws SemanticException { // optimization: never apply widening on normal instructions, // save time and precision and only apply to widening points - if (widenAfter <= 0 || !wideningPoints.contains(node)) + if (widenAfter < 0 || !wideningPoints.contains(node)) return old.lub(approx); int lub = lubs.computeIfAbsent(node, st -> widenAfter); diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/CFGFixpoint.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/CFGFixpoint.java index 37553b6f4..5e32e4e85 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/CFGFixpoint.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/CFGFixpoint.java @@ -70,6 +70,8 @@ public CompoundState semantics(Statement node, StatementStore expressions = new StatementStore<>(entrystate.postState.bottom()); AnalysisState approx = node.semantics(entrystate.postState, interprocedural, expressions); if (node instanceof Expression) + // we forget the meta variables now as the values are popped from + // the stack here approx = approx.forgetIdentifiers(((Expression) node).getMetaVariables()); return CompoundState.of(approx, expressions); } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/DescendingGLBFixpoint.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/DescendingGLBFixpoint.java index 83ab3fb6e..f83bf1f77 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/DescendingGLBFixpoint.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/DescendingGLBFixpoint.java @@ -54,7 +54,7 @@ public DescendingGLBFixpoint(CFG target, int maxGLBs, public CompoundState operation(Statement node, CompoundState approx, CompoundState old) throws SemanticException { - if (maxGLBs <= 0) + if (maxGLBs < 0) return old; int glb = glbs.computeIfAbsent(node, st -> maxGLBs); diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/Expression.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/Expression.java index 13477569c..5a6c88201 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/Expression.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/Expression.java @@ -1,7 +1,5 @@ package it.unive.lisa.program.cfg.statement; -import it.unive.lisa.analysis.AnalysisState; -import it.unive.lisa.analysis.StatementStore; import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.CodeLocation; import it.unive.lisa.program.cfg.statement.call.Call; @@ -77,10 +75,10 @@ public final Type getStaticType() { * Yields the meta variables that are generated by the evaluation of this * expression. These should be removed as soon as the values computed by * those gets out of scope (e.g., popped from the stack). The returned - * collection will be filled while evaluating this expression - * {@link Statement#semantics(AnalysisState, it.unive.lisa.interprocedural.InterproceduralAnalysis, StatementStore)}, + * collection will be filled while evaluating this expression semantics, * thus invoking this method before computing the semantics will yield an - * empty collection. + * empty collection. Variables added here should represent stack values that + * cannot be re-computed at a later time (e.g., call return values). * * @return the meta variables */ diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryExpression.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryExpression.java index 988ba5401..e6bd5509f 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryExpression.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryExpression.java @@ -15,10 +15,12 @@ import it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder; import it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation; import it.unive.lisa.symbolic.SymbolicExpression; +import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.type.Type; import it.unive.lisa.type.Untyped; import it.unive.lisa.util.datastructures.graph.GraphVisitor; import java.util.Arrays; +import java.util.Collection; import java.util.Objects; import org.apache.commons.lang3.StringUtils; @@ -238,9 +240,13 @@ T extends TypeDomain> AnalysisState semantics( T> eval = order.evaluate(subExpressions, entryState, interprocedural, expressions, computed); AnalysisState result = expressionSemantics(interprocedural, eval, computed, expressions); - for (Expression sub : subExpressions) - if (!sub.getMetaVariables().isEmpty()) - result = result.forgetIdentifiers(sub.getMetaVariables()); + Collection vars = getMetaVariables(); + for (Expression sub : subExpressions) { + // we propagate the meta variables backward + Collection subvars = sub.getMetaVariables(); + vars.addAll(subvars); + subvars.clear(); + } return result; } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryStatement.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryStatement.java index 4c93a8a8a..951d033b7 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryStatement.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/NaryStatement.java @@ -201,8 +201,9 @@ T extends TypeDomain> AnalysisState semantics( AnalysisState result = statementSemantics(interprocedural, eval, computed, expressions); for (Expression sub : subExpressions) - if (!sub.getMetaVariables().isEmpty()) - result = result.forgetIdentifiers(sub.getMetaVariables()); + // we forget the meta variables now as the values are popped from + // the stack here + result = result.forgetIdentifiers(sub.getMetaVariables()); return result; } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CFGCall.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CFGCall.java index 0bc6e8da6..5192723a6 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CFGCall.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CFGCall.java @@ -14,7 +14,6 @@ import it.unive.lisa.program.cfg.CodeLocation; import it.unive.lisa.program.cfg.CodeMember; import it.unive.lisa.program.cfg.statement.Expression; -import it.unive.lisa.program.cfg.statement.MetaVariableCreator; import it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder; import it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation; import it.unive.lisa.symbolic.SymbolicExpression; @@ -32,7 +31,7 @@ * * @author Luca Negrini */ -public class CFGCall extends CallWithResult implements MetaVariableCreator, CanRemoveReceiver { +public class CFGCall extends CallWithResult implements CanRemoveReceiver { /** * The targets of this call diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CallWithResult.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CallWithResult.java index 85dd875ed..e679dd813 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CallWithResult.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CallWithResult.java @@ -99,31 +99,15 @@ T extends TypeDomain> AnalysisState expressionSemantics( // metavariable AnalysisState returned = compute(state, interprocedural, expressions, params); - if (getStaticType().isVoidType() || - (getStaticType().isUntyped() && returned.getComputedExpressions().isEmpty()) || - (returned.getComputedExpressions().size() == 1 - && returned.getComputedExpressions().iterator().next() instanceof Skip)) + if (interprocedural.returnsVoid(this, returned)) // no need to add the meta variable since nothing has been pushed on // the stack return returned.smallStepSemantics(new Skip(getLocation()), this); Identifier meta = getMetaVariable(); for (SymbolicExpression expr : returned.getComputedExpressions()) - // It might be the case it chose a - // target with void return type getMetaVariables().add((Identifier) expr); - getMetaVariables().add(meta); - - AnalysisState result = returned.bottom(); - for (SymbolicExpression expr : returned.getComputedExpressions()) { - // We need to perform this evaluation of the identifier not pushed - // with the scope since otherwise the value associated with the - // returned variable would be lost - AnalysisState tmp = returned.assign(meta, expr, this); - result = result.lub(tmp.smallStepSemantics(meta, this)); - } - - return result; + return returned; } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/OpenCall.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/OpenCall.java index acc8c377a..2df377ce9 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/OpenCall.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/OpenCall.java @@ -13,7 +13,6 @@ import it.unive.lisa.program.cfg.CodeLocation; import it.unive.lisa.program.cfg.CodeMember; import it.unive.lisa.program.cfg.statement.Expression; -import it.unive.lisa.program.cfg.statement.MetaVariableCreator; import it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder; import it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation; import it.unive.lisa.symbolic.SymbolicExpression; @@ -29,7 +28,7 @@ * * @author Luca Negrini */ -public class OpenCall extends CallWithResult implements MetaVariableCreator { +public class OpenCall extends CallWithResult { /** * Builds the open call, happening at the given location in the program. diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/TruncatedParamsCall.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/TruncatedParamsCall.java index c7543a3d3..d22715f65 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/TruncatedParamsCall.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/TruncatedParamsCall.java @@ -107,4 +107,13 @@ T extends TypeDomain> AnalysisState expressionSemantics( public Collection getTargets() { return ((ResolvedCall) call).getTargets(); } + + /** + * Yields the original call that this one was created from. + * + * @return the call + */ + public Call getInnerCall() { + return call; + } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/OrderPreservingAssigningStrategy.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/OrderPreservingAssigningStrategy.java index 88b550d1c..59257d22d 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/OrderPreservingAssigningStrategy.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/OrderPreservingAssigningStrategy.java @@ -51,6 +51,8 @@ T extends TypeDomain> Pair, ExpressionSet(prepared.getState(), new ExpressionSet<>(), prepared.getAliasing()); return Pair.of(prepared, parameters); } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/PythonLikeAssigningStrategy.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/PythonLikeAssigningStrategy.java index 9376cbd85..09fb2b972 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/PythonLikeAssigningStrategy.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/language/parameterassignment/PythonLikeAssigningStrategy.java @@ -118,6 +118,8 @@ T extends TypeDomain> Pair, ExpressionSet(prepared.getState(), new ExpressionSet<>(), prepared.getAliasing()); return Pair.of(prepared, slots); } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/SymbolicExpression.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/SymbolicExpression.java index bc9bd3dce..940a113b8 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/SymbolicExpression.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/SymbolicExpression.java @@ -4,6 +4,7 @@ import it.unive.lisa.analysis.SemanticDomain; import it.unive.lisa.analysis.SemanticException; import it.unive.lisa.program.cfg.CodeLocation; +import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.symbolic.value.OutOfScopeIdentifier; import it.unive.lisa.symbolic.value.Variable; import it.unive.lisa.type.Type; @@ -114,8 +115,9 @@ public final Type getDynamicType() { /** * Pushes a new scope, identified by the give token, in the expression. This - * causes all {@link Variable}s to become {@link OutOfScopeIdentifier}s - * associated with the given token. + * causes all {@link Identifier}s where {@link Identifier#canBeScoped()} + * holds to become {@link OutOfScopeIdentifier}s associated with the given + * token. * * @param token the token identifying the scope to push * @@ -129,8 +131,11 @@ public final Type getDynamicType() { /** * Pops the scope identified by the given token from the expression. This * causes all the invisible variables (i.e. {@link OutOfScopeIdentifier}s) - * mapped to the given scope to become visible (i.e. {@link Variable}s) - * again. + * mapped to the given scope to become visible (e.g. {@link Variable}s) + * again. Note that invoking this method on {@link Identifier}s where + * {@link Identifier#canBeScoped()} holds will return {@code null} if (i) + * the identifier is not scoped, or (ii) the identifier is scoped by a + * different token. * * @param token the token of the scope to be restored * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/HeapLocation.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/HeapLocation.java index a744729c7..13163bcbf 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/HeapLocation.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/HeapLocation.java @@ -65,6 +65,11 @@ public Identifier lub(Identifier other) throws SemanticException { return isWeak() ? this : other; } + @Override + public boolean canBeScoped() { + return false; + } + @Override public SymbolicExpression pushScope(ScopeToken token) { return this; diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Identifier.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Identifier.java index c398d81d5..44866c1a0 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Identifier.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Identifier.java @@ -1,5 +1,6 @@ package it.unive.lisa.symbolic.value; +import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.analysis.SemanticException; import it.unive.lisa.program.annotations.Annotation; import it.unive.lisa.program.annotations.Annotations; @@ -69,6 +70,30 @@ public boolean isWeak() { return weak; } + /** + * Yields {@code true} if this is an {@link OutOfScopeIdentifier} whose (i) + * scope was introduced by a call, or (ii) inner identifier is an + * {@link OutOfScopeIdentifier} such that {@code inner.isScopedByCall()} + * holds. + * + * @return {@code true} if that condition holds + */ + public boolean isScopedByCall() { + return false; + } + + /** + * Yields {@code true} if a call to {@link #pushScope(ScopeToken)} on this + * identifier yields a new {@link OutOfScopeIdentifier} associated with the + * given scope, that can then be removed by {@link #popScope(ScopeToken)}. + * If this method returns {@code false}, then {@link #pushScope(ScopeToken)} + * and {@link #popScope(ScopeToken)} will always return this identifier + * instead. + * + * @return {@code true} if that condition holds + */ + public abstract boolean canBeScoped(); + @Override public int hashCode() { final int prime = 31; diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/MemoryPointer.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/MemoryPointer.java index 235287fca..2bd86e257 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/MemoryPointer.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/MemoryPointer.java @@ -47,9 +47,14 @@ public MemoryPointer(Type staticType, HeapLocation loc, Annotations annotations, this.loc = loc; } + @Override + public boolean canBeScoped() { + return true; + } + @Override public SymbolicExpression pushScope(ScopeToken token) { - return new OutOfScopeIdentifier(this, token, getAnnotations(), getCodeLocation()); + return new OutOfScopeIdentifier(this, token, getCodeLocation()); } @Override diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/OutOfScopeIdentifier.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/OutOfScopeIdentifier.java index ccf415e71..a9f6a8c86 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/OutOfScopeIdentifier.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/OutOfScopeIdentifier.java @@ -2,8 +2,8 @@ import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.analysis.SemanticException; -import it.unive.lisa.program.annotations.Annotations; import it.unive.lisa.program.cfg.CodeLocation; +import it.unive.lisa.program.cfg.statement.call.Call; import it.unive.lisa.symbolic.ExpressionVisitor; import it.unive.lisa.symbolic.SymbolicExpression; @@ -22,24 +22,28 @@ public class OutOfScopeIdentifier extends Identifier { /** * Builds the identifier outside the scope. * - * @param id the current identifier - * @param scope the method call that caused the identifier to exit the - * scope - * @param annotations the annotations of this variable - * @param location the code location of the statement that has generated - * this expression + * @param id the current identifier + * @param scope the method call that caused the identifier to exit the + * scope + * @param location the code location of the statement that has generated + * this expression */ - public OutOfScopeIdentifier(Identifier id, ScopeToken scope, Annotations annotations, CodeLocation location) { - super(id.getStaticType(), scope.toString() + ":" + id.getName(), id.isWeak(), annotations, location); + public OutOfScopeIdentifier(Identifier id, ScopeToken scope, CodeLocation location) { + super(id.getStaticType(), scope.toString() + ":" + id.getName(), id.isWeak(), id.getAnnotations(), location); this.id = id; this.scope = scope; if (id.hasRuntimeTypes()) setRuntimeTypes(id.getRuntimeTypes(null)); } + @Override + public boolean canBeScoped() { + return true; + } + @Override public SymbolicExpression pushScope(ScopeToken token) { - return new OutOfScopeIdentifier(this, token, getAnnotations(), getCodeLocation()); + return new OutOfScopeIdentifier(this, token, getCodeLocation()); } @Override @@ -49,6 +53,11 @@ public Identifier popScope(ScopeToken token) throws SemanticException { return null; } + @Override + public boolean isScopedByCall() { + return scope.getScoper() instanceof Call || (id instanceof OutOfScopeIdentifier && id.isScopedByCall()); + } + /** * Returns the scope of the identifier. * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Variable.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Variable.java index 676fb1daa..8483ad4a9 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Variable.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Variable.java @@ -40,9 +40,14 @@ public Variable(Type staticType, String name, Annotations annotations, CodeLocat super(staticType, name, false, annotations, location); } + @Override + public boolean canBeScoped() { + return true; + } + @Override public SymbolicExpression pushScope(ScopeToken token) { - return new OutOfScopeIdentifier(this, token, getAnnotations(), getCodeLocation()); + return new OutOfScopeIdentifier(this, token, getCodeLocation()); } @Override diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/StringUtilities.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/StringUtilities.java new file mode 100644 index 000000000..405fdf810 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/StringUtilities.java @@ -0,0 +1,34 @@ +package it.unive.lisa.util; + +/** + * Utility methods for building and manipulating strings. + * + * @author Luca Negrini + */ +public class StringUtilities { + + private StringUtilities() { + } + + /** + * Yields the ordinal for the given integer by appending either {@code st}, + * {@code nd}, {@code rd}, or {@code th} to it. + * + * @param i the integer + * + * @return the ordinal string + */ + public static String ordinal(int i) { + int n = i % 100; + if (n == 11 || n == 12 || n == 13 || n % 10 == 0 || n % 10 > 3) + return i + "th"; + + if (n % 10 == 1) + return i + "st"; + + if (n % 10 == 2) + return i + "nd"; + + return i + "rd"; + } +} diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/collections/CollectionUtilities.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/collections/CollectionUtilities.java index 1cdf047ab..c408e64b2 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/collections/CollectionUtilities.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/collections/CollectionUtilities.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.Set; @@ -192,4 +193,57 @@ public Set characteristics() { return Set.of(Characteristics.IDENTITY_FINISH); } } + + /** + * A {@link Collector} that yields a {@link String} built by concatenating + * the values returned by {@link Object#toString()} when invoked on the + * elements of the stream. + * + * @author Luca Negrini + * + * @param the type of the elements to be sorted + */ + public static class StringCollector implements Collector { + + private final String separator; + + /** + * Builds the collector. + * + * @param separator the separator to use when concatenating items. + */ + public StringCollector(String separator) { + this.separator = separator; + } + + @Override + public Supplier supplier() { + return () -> new StringBuilder(); + } + + @Override + public BiConsumer accumulator() { + return (builder, e) -> { + if (builder.length() == 0) + builder.append(e); + else + builder.append(separator).append(e); + }; + } + + @Override + public BinaryOperator combiner() { + return (result, partial) -> result.append(partial); + } + + @Override + public Function finisher() { + return builder -> builder.toString(); + } + + @Override + public Set characteristics() { + return Collections.emptySet(); + } + } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/AdjacencyMatrix.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/AdjacencyMatrix.java index d1b5424df..bc2f63735 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/AdjacencyMatrix.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/AdjacencyMatrix.java @@ -506,4 +506,11 @@ public String toString() { return "ins: " + ingoing + ", outs: " + outgoing; } } + + /** + * Empties this matrix, removing all the nodes and the edges in it. + */ + public void clear() { + matrix.clear(); + } } diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/Dominators.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/Dominators.java index 24e9e6dec..d71d26c99 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/Dominators.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/Dominators.java @@ -40,7 +40,7 @@ public Dominators() { } /** - * Yelds the last computed dominators through {@link #build(Graph)}. The + * Yields the last computed dominators through {@link #build(Graph)}. The * returned value is a map going from each node of the given graph to the * set of nodes that dominates it. * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/SCCs.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/SCCs.java new file mode 100644 index 000000000..1d5d1de24 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/SCCs.java @@ -0,0 +1,137 @@ +package it.unive.lisa.util.datastructures.graph.algorithms; + +import it.unive.lisa.util.collections.workset.LIFOWorkingSet; +import it.unive.lisa.util.collections.workset.WorkingSet; +import it.unive.lisa.util.datastructures.graph.Edge; +import it.unive.lisa.util.datastructures.graph.Graph; +import it.unive.lisa.util.datastructures.graph.Node; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * An algorithms that evaluates the strongly connected components a graph. A + * strongly connected component is a set of nodes of the graph that is strongly + * connected, that is, where there exist a path in both directions between any + * two nodes of the set. This is implemented Tarjan's algorithm, computing + * maximal non-trivial SCCs (i.e., containing at least one edge and such that no + * other node could be added without breaking strong connectivity). + * + * @author Luca Negrini + * + * @param the type of the target {@link Graph}s + * @param the type of {@link Node}s in the target graphs + * @param the type of {@link Edge}s in the target graphs + * + * @see Strongly + * connected component + * @see Tarjan + * strongly connected components algorithm + */ +public class SCCs, N extends Node, E extends Edge> { + + private final Collection> sccs; + + /** + * Builds the SCCs. To run the algorithm, use {@link #build(Graph)}. + */ + public SCCs() { + sccs = new HashSet<>(); + } + + /** + * Yields the last computed strongly connected components through + * {@link #build(Graph)}. Note that, depending on the method used for + * computing them, the returned value might contain all components, + * including trivial single-node ones. + * + * @return a set containing all the strongly connected components + */ + public Collection> getSCCs() { + return sccs; + } + + /** + * Builds the strongly connected components for the given graph. The + * returned value can also be accessed later through {@link #getSCCs()}. + * Note that the returned value does not contain trivial single-node + * components. This also holds for the value returned by {@link #getSCCs()}. + * + * @param graph the graph whose sccs are to be computed + * + * @return the set of non trivial sccs + */ + public Collection> buildNonTrivial(G graph) { + build(graph); + Collection> toRemove = new HashSet<>(); + for (Collection scc : sccs) { + N first = scc.iterator().next(); + if (scc.size() == 1 && !graph.followersOf(first).contains(first)) + // only one node with no self loops + toRemove.add(scc); + } + sccs.removeAll(toRemove); + return sccs; + } + + /** + * Builds the strongly connected components for the given graph. The + * returned value can also be accessed later through {@link #getSCCs()}. + * Note that the returned value contains all components, including + * trivial single-node ones. This also holds for the value returned by + * {@link #getSCCs()}. + * + * @param graph the graph whose sccs are to be computed + * + * @return the set of all sccs + */ + public Collection> build(G graph) { + sccs.clear(); + + int index = 0; + Map indexes = new HashMap<>(); + Map lowlinks = new HashMap<>(); + WorkingSet ws = LIFOWorkingSet.mk(); + for (N n : graph.getNodes()) + if (!indexes.containsKey(n)) + index = strongconnect(graph, indexes, lowlinks, index, ws, n); + + return sccs; + } + + private int strongconnect( + G graph, + Map indexes, + Map lowlinks, + int index, + WorkingSet ws, + N v) { + indexes.put(v, index); + lowlinks.put(v, index); + index++; + ws.push(v); + + for (N w : graph.followersOf(v)) + if (!indexes.containsKey(w)) { + index = strongconnect(graph, indexes, lowlinks, index, ws, w); + lowlinks.put(v, Math.min(lowlinks.get(v), lowlinks.get(w))); + } else if (ws.getContents().contains(w)) + lowlinks.put(v, Math.min(lowlinks.get(v), indexes.get(w))); + + if (lowlinks.get(v) == indexes.get(v)) { + Set scc = new HashSet<>(); + N w = null; + do { + w = ws.pop(); + scc.add(w); + } while (w != v); + sccs.add(scc); + } + + return index; + } +} diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/IntInterval.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/IntInterval.java index 3a261974c..e2066e65a 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/IntInterval.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/IntInterval.java @@ -38,24 +38,24 @@ private IntInterval() { } /** - * Builds a new interval. + * Builds a new interval. Order of the bounds is adjusted (i.e., if + * {@code low} is greater then {@code high}, then the interval + * {@code [high, low]} is created). * * @param low the lower bound * @param high the upper bound - * - * @throws IllegalArgumentException if {@code low > high} */ public IntInterval(int low, int high) { this(new MathNumber(low), new MathNumber(high)); } /** - * Builds a new interval. + * Builds a new interval. Order of the bounds is adjusted (i.e., if + * {@code low} is greater then {@code high}, then the interval + * {@code [high, low]} is created). * * @param low the lower bound (if {@code null}, -inf will be used) * @param high the upper bound (if {@code null}, +inf will be used) - * - * @throws IllegalArgumentException if {@code low > high} */ public IntInterval(Integer low, Integer high) { this(low == null ? MathNumber.MINUS_INFINITY : new MathNumber(low), @@ -63,19 +63,24 @@ public IntInterval(Integer low, Integer high) { } /** - * Builds a new interval. + * Builds a new interval. Order of the bounds is adjusted (i.e., if + * {@code low} is greater then {@code high}, then the interval + * {@code [high, low]} is created). * * @param low the lower bound * @param high the upper bound - * - * @throws IllegalArgumentException if {@code low > high} */ public IntInterval(MathNumber low, MathNumber high) { - if (low.compareTo(high) > 0) - throw new IllegalArgumentException("Lower bound is bigger than higher bound"); - - this.low = low; - this.high = high; + if (low.isNaN() || high.isNaN()) { + this.low = MathNumber.NaN; + this.high = MathNumber.NaN; + } else if (low.compareTo(high) <= 0) { + this.low = low; + this.high = high; + } else { + this.low = high; + this.high = low; + } } /** @@ -278,9 +283,9 @@ public IntInterval div(IntInterval other, boolean ignoreZero, boolean errorOnZer if (!other.includes(ZERO)) return mul(new IntInterval(MathNumber.ONE.divide(other.high), MathNumber.ONE.divide(other.low))); - else if (other.high.is(0)) + else if (other.high.isZero()) return mul(new IntInterval(MathNumber.MINUS_INFINITY, MathNumber.ONE.divide(other.low))); - else if (other.low.is(0)) + else if (other.low.isZero()) return mul(new IntInterval(MathNumber.ONE.divide(other.high), MathNumber.PLUS_INFINITY)); else if (ignoreZero) return mul(new IntInterval(MathNumber.ONE.divide(other.low), MathNumber.ONE.divide(other.high))); diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/MathNumber.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/MathNumber.java index 536cbf111..62fbc3498 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/MathNumber.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/MathNumber.java @@ -1,5 +1,6 @@ package it.unive.lisa.util.numeric; +import it.unive.lisa.util.collections.CollectionUtilities; import java.math.BigDecimal; import java.math.RoundingMode; @@ -14,12 +15,12 @@ public class MathNumber implements Comparable { /** * The constant for plus infinity. */ - public static final MathNumber PLUS_INFINITY = new MathNumber((byte) 0); + public static final MathNumber PLUS_INFINITY = new MathNumber((byte) 1); /** * The constant for minus infinity. */ - public static final MathNumber MINUS_INFINITY = new MathNumber((byte) 1); + public static final MathNumber MINUS_INFINITY = new MathNumber((byte) -1); /** * The constant {@code 0}. @@ -45,7 +46,7 @@ public class MathNumber implements Comparable { private final BigDecimal number; /** - * True means this number is positive or zero + * -1, 0, or 1 as this number is negative, zero, or positive. 3 means NaN. */ private final byte sign; @@ -56,7 +57,7 @@ public class MathNumber implements Comparable { */ public MathNumber(long number) { this.number = BigDecimal.valueOf(number); - this.sign = number >= 0 ? (byte) 0 : (byte) 1; + this.sign = number > 0 ? (byte) 1 : number == 0 ? (byte) 0 : (byte) -1; } /** @@ -66,7 +67,7 @@ public MathNumber(long number) { */ public MathNumber(double number) { this.number = BigDecimal.valueOf(number); - this.sign = number >= 0 ? (byte) 0 : (byte) 1; + this.sign = number > 0 ? (byte) 1 : number == 0 ? (byte) 0 : (byte) -1; } /** @@ -76,7 +77,7 @@ public MathNumber(double number) { */ public MathNumber(BigDecimal number) { this.number = number; - this.sign = number.signum() >= 0 ? (byte) 0 : (byte) 1; + this.sign = number.signum() > 0 ? (byte) 1 : number.signum() == 0 ? (byte) 0 : (byte) -1; } private MathNumber(byte sign) { @@ -99,7 +100,7 @@ public boolean isMinusInfinity() { * @return {@code true} if that condition holds */ public boolean isPlusInfinity() { - return number == null && isPositiveOrZero(); + return number == null && isPositive(); } /** @@ -134,11 +135,11 @@ public boolean is(int n) { } /** - * Yields {@code true} if this number is positive or equal to zero. + * Yields {@code true} if this number is equal to zero. * * @return {@code true} if that condition holds */ - public boolean isPositiveOrZero() { + public boolean isZero() { return sign == (byte) 0; } @@ -148,6 +149,15 @@ public boolean isPositiveOrZero() { * @return {@code true} if that condition holds */ public boolean isNegative() { + return sign == (byte) -1; + } + + /** + * Yields {@code true} if this number is positive. + * + * @return {@code true} if that condition holds + */ + public boolean isPositive() { return sign == (byte) 1; } @@ -163,7 +173,7 @@ public boolean isNaN() { } private static MathNumber cached(MathNumber i) { - if (i.is(0)) + if (i.isZero()) return ZERO; if (i.is(1)) return ONE; @@ -184,11 +194,17 @@ public MathNumber add(MathNumber other) { if (isNaN() || other.isNaN()) return NaN; - if (isPlusInfinity() || other.isPlusInfinity()) - return PLUS_INFINITY; - - if (isMinusInfinity() || other.isMinusInfinity()) - return MINUS_INFINITY; + if (isInfinite()) + if (other.isFinite()) + return this; + else if (equals(other)) + return this; + else + // addition between infinities of opposing signs is undefined + return NaN; + else if (other.isInfinite()) + // this is finite + return other; return cached(new MathNumber(number.add(other.number))); } @@ -205,11 +221,17 @@ public MathNumber subtract(MathNumber other) { if (isNaN() || other.isNaN()) return NaN; - if (isPlusInfinity() || other.isPlusInfinity()) - return PLUS_INFINITY; - - if (isMinusInfinity() || other.isMinusInfinity()) - return MINUS_INFINITY; + if (isInfinite()) + if (other.isFinite()) + return this; + else if (equals(other)) + // subtraction between infinities of same sign is undefined + return NaN; + else + return this; + else if (other.isInfinite()) + // this is finite + return other.multiply(MINUS_ONE); return cached(new MathNumber(number.subtract(other.number))); } @@ -226,55 +248,52 @@ public MathNumber multiply(MathNumber other) { if (isNaN() || other.isNaN()) return NaN; - if (is(0) || other.is(0)) - return ZERO; - - if ((isPlusInfinity() && other.isNegative()) - || (other.isPlusInfinity() && isNegative()) - || (isMinusInfinity() && other.isPositiveOrZero()) - || (other.isMinusInfinity() && isPositiveOrZero())) - return MINUS_INFINITY; + if (isInfinite()) + if (other.isZero()) + // 0 times infinity is undefined + return NaN; + else if (sign == other.sign) + return PLUS_INFINITY; + else + return MINUS_INFINITY; + else if (other.isInfinite()) + if (isZero()) + // 0 times infinity is undefined + return NaN; + else if (sign == other.sign) + return PLUS_INFINITY; + else + return MINUS_INFINITY; - if ((isMinusInfinity() && other.isNegative()) - || (other.isMinusInfinity() && isNegative()) - || (isPlusInfinity() && other.isPositiveOrZero()) - || (other.isPlusInfinity() && isPositiveOrZero())) - return PLUS_INFINITY; + if (isZero() || other.isZero()) + return ZERO; return cached(new MathNumber(number.multiply(other.number))); } /** - * Yields the result of {@code this / other}. If one of them is not a number - * (according to {@link #isNaN()}), then {@link #NaN} is returned. If - * {@code other} is zero (according to {@link #is(int)}), then an - * {@link ArithmeticException} is thrown. If both are infinite (according to - * {@link #isInfinite()}), then {@link #NaN} is returned. + * Yields the result of {@code this / other}. This method returns + * {@link #NaN} if one of the argument is not a number (according to + * {@link #isNaN()}), if {@code other} is zero (according to + * {@link #isZero()}), or if both arguments are infinite (according to + * {@link #isInfinite()}). * * @param other the divisor * * @return {@code this / other} - * - * @throws ArithmeticException if {@code other} is 0 */ public MathNumber divide(MathNumber other) { - if (isNaN() || other.isNaN()) + if (isNaN() || other.isNaN() || other.isZero() || (isInfinite() && other.isInfinite())) return NaN; - if (other.is(0)) - throw new ArithmeticException("MathInt divide by zero"); - - if (is(0)) + if (isZero()) return ZERO; - if (isInfinite() && other.isInfinite()) - return NaN; - if (other.isPlusInfinity() || other.isMinusInfinity()) return ZERO; if (isPlusInfinity() || isMinusInfinity()) - if (isPositiveOrZero() == other.isPositiveOrZero()) + if (isPositive() == other.isPositive()) return PLUS_INFINITY; else return MINUS_INFINITY; @@ -296,13 +315,17 @@ public int compareTo(MathNumber other) { if (isNaN()) return 0; - if (isMinusInfinity() || other.isPlusInfinity() || (isNegative() && other.isPositiveOrZero())) + int s = Byte.compare(sign, other.sign); + if (s != 0) + return s; + + if (isMinusInfinity() || other.isPlusInfinity()) return -1; - if (isPlusInfinity() || other.isMinusInfinity() || (isPositiveOrZero() && other.isNegative())) + if (isPlusInfinity() || other.isMinusInfinity()) return 1; - return number.compareTo(other.number); + return CollectionUtilities.nullSafeCompare(true, number, other.number, BigDecimal::compareTo); } /** diff --git a/lisa/lisa-sdk/src/test/java/it/unive/lisa/TestCallGraph.java b/lisa/lisa-sdk/src/test/java/it/unive/lisa/TestCallGraph.java new file mode 100644 index 000000000..aa690f657 --- /dev/null +++ b/lisa/lisa-sdk/src/test/java/it/unive/lisa/TestCallGraph.java @@ -0,0 +1,16 @@ +package it.unive.lisa; + +import it.unive.lisa.interprocedural.callgraph.BaseCallGraph; +import it.unive.lisa.interprocedural.callgraph.CallResolutionException; +import it.unive.lisa.program.cfg.statement.Expression; +import it.unive.lisa.type.Type; +import java.util.Collection; +import java.util.Set; + +public class TestCallGraph extends BaseCallGraph { + @Override + public Collection getPossibleTypesOfReceiver(Expression receiver, Set types) + throws CallResolutionException { + return receiver.getStaticType().allInstances(receiver.getProgram().getTypes()); + } +} diff --git a/lisa/lisa-sdk/src/test/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResultsTest.java b/lisa/lisa-sdk/src/test/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResultsTest.java index 2b0bae634..5fe2842f2 100644 --- a/lisa/lisa-sdk/src/test/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResultsTest.java +++ b/lisa/lisa-sdk/src/test/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResultsTest.java @@ -74,7 +74,8 @@ public void registerCall(CFGCall call) { } @Override - public void init(Application program) throws CallGraphConstructionException { + public void init(Application app) throws CallGraphConstructionException { + super.init(app); } @Override @@ -97,6 +98,16 @@ public Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing alias throws CallResolutionException { return null; } + + @Override + public Collection> getRecursions() { + return null; + } + + @Override + public Collection> getRecursionsContaining(CodeMember cm) { + return null; + } }; private static Warning build(CheckTool tool, Object target, String message) { diff --git a/lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraphTest.java b/lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraphTest.java new file mode 100644 index 000000000..3fd806333 --- /dev/null +++ b/lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraphTest.java @@ -0,0 +1,165 @@ +package it.unive.lisa.interprocedural.callgraph; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import it.unive.lisa.TestCallGraph; +import it.unive.lisa.TestLanguageFeatures; +import it.unive.lisa.TestTypeSystem; +import it.unive.lisa.analysis.symbols.SymbolAliasing; +import it.unive.lisa.program.Application; +import it.unive.lisa.program.Program; +import it.unive.lisa.program.ProgramValidationException; +import it.unive.lisa.program.SourceCodeLocation; +import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.CodeMember; +import it.unive.lisa.program.cfg.CodeMemberDescriptor; +import it.unive.lisa.program.cfg.Parameter; +import it.unive.lisa.program.cfg.edge.SequentialEdge; +import it.unive.lisa.program.cfg.statement.Ret; +import it.unive.lisa.program.cfg.statement.VariableRef; +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.program.cfg.statement.call.Call; +import it.unive.lisa.program.cfg.statement.call.Call.CallType; +import it.unive.lisa.program.cfg.statement.call.UnresolvedCall; +import it.unive.lisa.type.BooleanType; +import it.unive.lisa.type.StringType; +import it.unive.lisa.type.Type; +import it.unive.lisa.type.TypeSystem; +import it.unive.lisa.type.Untyped; +import java.util.Collection; +import java.util.Collections; +import java.util.Set; +import org.junit.Test; + +public class BaseCallGraphTest { + + private final class StrType implements StringType { + @Override + public Type commonSupertype(Type other) { + return canBeAssignedTo(other) ? this : Untyped.INSTANCE; + } + + @Override + public boolean canBeAssignedTo(Type other) { + return other.getClass() == getClass(); + } + + @Override + public Set allInstances(TypeSystem types) { + return Collections.singleton(this); + } + } + + private final class BoolType implements BooleanType { + @Override + public Type commonSupertype(Type other) { + return canBeAssignedTo(other) ? this : Untyped.INSTANCE; + } + + @Override + public boolean canBeAssignedTo(Type other) { + return other.getClass() == getClass(); + } + + @Override + public Set allInstances(TypeSystem types) { + return Collections.singleton(this); + } + } + + /** + * @see #145 + */ + @Test + public void issue145() throws CallResolutionException, ProgramValidationException, CallGraphConstructionException { + CallGraph cg = new TestCallGraph(); + + Program p = new Program(new TestLanguageFeatures(), new TestTypeSystem()); + + CFG cfg1 = new CFG(new CodeMemberDescriptor(new SourceCodeLocation("fake1", 0, 0), p, false, "cfg1")); + UnresolvedCall call = new UnresolvedCall(cfg1, new SourceCodeLocation("fake1", 1, 0), CallType.STATIC, + p.getName(), "cfg2"); + cfg1.addNode(call, true); + Ret ret = new Ret(cfg1, new SourceCodeLocation("fake1", 2, 0)); + cfg1.addNode(ret, false); + cfg1.addEdge(new SequentialEdge(call, ret)); + + CFG cfg2 = new CFG(new CodeMemberDescriptor(new SourceCodeLocation("fake2", 0, 0), p, false, "cfg2")); + cfg2.addNode(new Ret(cfg2, new SourceCodeLocation("fake2", 1, 0)), true); + + p.addCodeMember(cfg2); + p.addCodeMember(cfg1); + p.getFeatures().getProgramValidationLogic().validateAndFinalize(p); + + Application app = new Application(p); + cg.init(app); + @SuppressWarnings("unchecked") + CFGCall resolved = (CFGCall) cg.resolve(call, new Set[0], new SymbolAliasing()); + cg.registerCall(resolved); + + Collection callees = cg.getCallees(cfg1); + assertEquals(1, callees.size()); + assertSame(cfg2, callees.iterator().next()); + assertTrue(cg.getCallees(cfg2).isEmpty()); + + Collection callers = cg.getCallers(cfg2); + assertEquals(1, callers.size()); + assertSame(cfg1, callers.iterator().next()); + assertTrue(cg.getCallers(cfg1).isEmpty()); + + Collection callSites = cg.getCallSites(cfg2); + assertEquals(1, callSites.size()); + assertSame(call, callSites.iterator().next()); + assertTrue(cg.getCallSites(cfg1).isEmpty()); + } + + /** + * @see #252 + */ + @Test + @SuppressWarnings("unchecked") + public void issue252() throws CallResolutionException, ProgramValidationException, CallGraphConstructionException { + CallGraph cg = new TestCallGraph(); + + Program p = new Program(new TestLanguageFeatures(), new TestTypeSystem()); + + CFG cfg1 = new CFG(new CodeMemberDescriptor(new SourceCodeLocation("fake1", 0, 0), p, false, "cfg1")); + UnresolvedCall call = new UnresolvedCall(cfg1, new SourceCodeLocation("fake1", 1, 0), CallType.STATIC, + p.getName(), "cfg2", new VariableRef(cfg1, new SourceCodeLocation("fake1", 1, 1), "x")); + cfg1.addNode(call, true); + Ret ret = new Ret(cfg1, new SourceCodeLocation("fake1", 2, 0)); + cfg1.addNode(ret, false); + cfg1.addEdge(new SequentialEdge(call, ret)); + + CFG cfg2_1 = new CFG(new CodeMemberDescriptor(new SourceCodeLocation("fake2", 0, 0), p, false, "cfg2", + new Parameter(new SourceCodeLocation("fake2", 0, 1), "x", new StrType()))); + cfg2_1.addNode(new Ret(cfg2_1, new SourceCodeLocation("fake2", 1, 0)), true); + CFG cfg2_2 = new CFG(new CodeMemberDescriptor(new SourceCodeLocation("fake2", 2, 0), p, false, "cfg2", + new Parameter(new SourceCodeLocation("fake2", 2, 1), "x", new BoolType()))); + cfg2_2.addNode(new Ret(cfg2_2, new SourceCodeLocation("fake2", 3, 0)), true); + + p.addCodeMember(cfg1); + p.addCodeMember(cfg2_1); + p.addCodeMember(cfg2_2); + p.getFeatures().getProgramValidationLogic().validateAndFinalize(p); + + Application app = new Application(p); + cg.init(app); + + CFGCall resolved = (CFGCall) cg.resolve(call, new Set[] { Collections.singleton(new StrType()) }, + new SymbolAliasing()); + + Collection callees = resolved.getTargets(); + assertEquals(1, callees.size()); + assertSame(cfg2_1, callees.iterator().next()); + + resolved = (CFGCall) cg.resolve(call, new Set[] { Collections.singleton(new BoolType()) }, + new SymbolAliasing()); + + callees = resolved.getTargets(); + assertEquals(1, callees.size()); + assertSame(cfg2_2, callees.iterator().next()); + } +} diff --git a/lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/CallRegisteringTest.java b/lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/CallRegisteringTest.java deleted file mode 100644 index 6c0118fbc..000000000 --- a/lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/CallRegisteringTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package it.unive.lisa.interprocedural.callgraph; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; - -import it.unive.lisa.TestLanguageFeatures; -import it.unive.lisa.TestTypeSystem; -import it.unive.lisa.analysis.symbols.SymbolAliasing; -import it.unive.lisa.program.Application; -import it.unive.lisa.program.Program; -import it.unive.lisa.program.ProgramValidationException; -import it.unive.lisa.program.SourceCodeLocation; -import it.unive.lisa.program.cfg.CFG; -import it.unive.lisa.program.cfg.CodeMember; -import it.unive.lisa.program.cfg.CodeMemberDescriptor; -import it.unive.lisa.program.cfg.edge.SequentialEdge; -import it.unive.lisa.program.cfg.statement.Expression; -import it.unive.lisa.program.cfg.statement.Ret; -import it.unive.lisa.program.cfg.statement.call.CFGCall; -import it.unive.lisa.program.cfg.statement.call.Call; -import it.unive.lisa.program.cfg.statement.call.Call.CallType; -import it.unive.lisa.program.cfg.statement.call.UnresolvedCall; -import it.unive.lisa.type.Type; -import java.util.Collection; -import java.util.Set; -import org.junit.Test; - -public class CallRegisteringTest { - - /** - * @see #145 - */ - @Test - public void issue145() throws CallResolutionException, ProgramValidationException, CallGraphConstructionException { - CallGraph cg = new BaseCallGraph() { - - @Override - public Collection getPossibleTypesOfReceiver(Expression receiver, Set types) - throws CallResolutionException { - return receiver.getStaticType().allInstances(receiver.getProgram().getTypes()); - } - - }; - - Program p = new Program(new TestLanguageFeatures(), new TestTypeSystem()); - - CFG cfg1 = new CFG(new CodeMemberDescriptor(new SourceCodeLocation("fake1", 0, 0), p, false, "cfg1")); - UnresolvedCall call = new UnresolvedCall(cfg1, new SourceCodeLocation("fake1", 1, 0), CallType.STATIC, - p.getName(), "cfg2"); - cfg1.addNode(call, true); - Ret ret = new Ret(cfg1, new SourceCodeLocation("fake1", 2, 0)); - cfg1.addNode(ret, false); - cfg1.addEdge(new SequentialEdge(call, ret)); - - CFG cfg2 = new CFG(new CodeMemberDescriptor(new SourceCodeLocation("fake2", 0, 0), p, false, "cfg2")); - cfg2.addNode(new Ret(cfg2, new SourceCodeLocation("fake2", 1, 0)), true); - - p.addCodeMember(cfg2); - p.addCodeMember(cfg1); - p.getFeatures().getProgramValidationLogic().validateAndFinalize(p); - - Application app = new Application(p); - cg.init(app); - @SuppressWarnings("unchecked") - CFGCall resolved = (CFGCall) cg.resolve(call, new Set[0], new SymbolAliasing()); - cg.registerCall(resolved); - - Collection callees = cg.getCallees(cfg1); - assertEquals(1, callees.size()); - assertSame(cfg2, callees.iterator().next()); - assertTrue(cg.getCallees(cfg2).isEmpty()); - - Collection callers = cg.getCallers(cfg2); - assertEquals(1, callers.size()); - assertSame(cfg1, callers.iterator().next()); - assertTrue(cg.getCallers(cfg1).isEmpty()); - - Collection callSites = cg.getCallSites(cfg2); - assertEquals(1, callSites.size()); - assertSame(call, callSites.iterator().next()); - assertTrue(cg.getCallSites(cfg1).isEmpty()); - } -} diff --git a/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/IntIntervalTest.java b/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/IntIntervalTest.java index a5745075e..f81387479 100644 --- a/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/IntIntervalTest.java +++ b/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/IntIntervalTest.java @@ -25,16 +25,24 @@ public void testBaseArithmetic() { } private static void test(Integer x1, Integer x2, Integer y1, Integer y2, Integer e1, Integer e2, String symbol, - BiFunction operator) { + BiFunction operator, boolean expectNaN) { IntInterval x = new IntInterval(x1, x2); IntInterval y = new IntInterval(y1, y2); IntInterval actual = operator.apply(x, y); - IntInterval expected = new IntInterval(e1, e2); + IntInterval expected; + if (expectNaN) + expected = new IntInterval(MathNumber.NaN, MathNumber.NaN); + else + expected = new IntInterval(e1, e2); assertEquals(x + " " + symbol + " " + y + " = " + expected + " (got " + actual + ")", expected, actual); } private static void mul(Integer x1, Integer x2, Integer y1, Integer y2, Integer e1, Integer e2) { - test(x1, x2, y1, y2, e1, e2, "*", IntInterval::mul); + test(x1, x2, y1, y2, e1, e2, "*", IntInterval::mul, false); + } + + private static void mul(Integer x1, Integer x2, Integer y1, Integer y2) { + test(x1, x2, y1, y2, null, null, "*", IntInterval::mul, true); } @Test @@ -51,16 +59,16 @@ public void testMultiplication() { mul(1, 2, -2, -1, -4, -1); mul(1, 2, -2, 1, -4, 2); mul(1, 2, 1, 2, 1, 4); - mul(null, 0, null, 0, 0, null); - mul(null, 0, null, null, null, null); - mul(null, 0, 0, null, null, 0); + mul(null, 0, null, 0); + mul(null, 0, null, null); + mul(null, 0, 0, null); mul(null, 0, 0, 0, 0, 0); - mul(null, null, null, 0, null, null); + mul(null, null, null, 0); mul(null, null, null, null, null, null); - mul(null, null, 0, null, null, null); + mul(null, null, 0, null); mul(null, null, 0, 0, 0, 0); - mul(0, null, null, 0, null, 0); - mul(0, null, null, null, null, null); + mul(0, null, null, 0); + mul(0, null, null, null); mul(0, null, 0, null, 0, null); mul(0, null, 0, 0, 0, 0); mul(0, 0, null, 0, 0, 0); @@ -71,7 +79,11 @@ public void testMultiplication() { private static void div(Integer x1, Integer x2, Integer y1, Integer y2, Integer e1, Integer e2, boolean ignoreZero) { - test(x1, x2, y1, y2, e1, e2, "/", (l, r) -> l.div(r, ignoreZero, false)); + test(x1, x2, y1, y2, e1, e2, "/", (l, r) -> l.div(r, ignoreZero, false), false); + } + + private static void div(Integer x1, Integer x2, Integer y1, Integer y2, boolean ignoreZero) { + test(x1, x2, y1, y2, null, null, "/", (l, r) -> l.div(r, ignoreZero, false), true); } @Test @@ -88,14 +100,14 @@ public void testDivision() { div(1, 2, -2, -1, -2, 0, false); div(1, 2, -2, 1, null, null, false); div(1, 2, 1, 2, 0, 2, false); - div(null, 0, null, 0, 0, null, false); - div(null, 0, null, null, null, null, false); - div(null, 0, 0, null, null, 0, false); - div(null, null, null, 0, null, null, false); - div(null, null, null, null, null, null, false); - div(null, null, 0, null, null, null, false); - div(0, null, null, 0, null, 0, false); - div(0, null, null, null, null, null, false); + div(null, 0, null, 0, false); + div(null, 0, null, null, false); + div(null, 0, 0, null, false); + div(null, null, null, 0, false); + div(null, null, null, null, false); + div(null, null, 0, null, false); + div(0, null, null, 0, false); + div(0, null, null, null, false); div(0, null, 0, null, 0, null, false); div(0, 0, null, 0, 0, 0, false); div(0, 0, null, null, 0, 0, false); @@ -116,13 +128,13 @@ public void testDivisionIgnoreZero() { div(1, 2, -2, -1, -2, 0, true); div(1, 2, -2, 1, -1, 2, true); div(1, 2, 1, 2, 0, 2, true); - div(null, 0, null, 0, 0, null, true); + div(null, 0, null, 0, true); div(null, 0, null, null, 0, 0, true); - div(null, 0, 0, null, null, 0, true); - div(null, null, null, 0, null, null, true); + div(null, 0, 0, null, true); + div(null, null, null, 0, true); div(null, null, null, null, 0, 0, true); - div(null, null, 0, null, null, null, true); - div(0, null, null, 0, null, 0, true); + div(null, null, 0, null, true); + div(0, null, null, 0, true); div(0, null, null, null, 0, 0, true); div(0, null, 0, null, 0, null, true); div(0, 0, null, 0, 0, 0, true); diff --git a/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/MathNumberTest.java b/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/MathNumberTest.java index 69b25982e..dc6e0100d 100644 --- a/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/MathNumberTest.java +++ b/lisa/lisa-sdk/src/test/java/it/unive/lisa/util/numeric/MathNumberTest.java @@ -7,7 +7,6 @@ import static it.unive.lisa.util.numeric.MathNumber.PLUS_INFINITY; import static it.unive.lisa.util.numeric.MathNumber.ZERO; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; import org.junit.Test; @@ -30,31 +29,31 @@ public void testAdditionCornerCases() { assertEquals("-inf + 0 != +inf", MINUS_INFINITY, MINUS_INFINITY.add(ZERO)); assertEquals("+inf + +inf != +inf", PLUS_INFINITY, PLUS_INFINITY.add(PLUS_INFINITY)); - assertEquals("+inf + -inf != +inf", PLUS_INFINITY, PLUS_INFINITY.add(MINUS_INFINITY)); - assertEquals("-inf + +inf != +inf", PLUS_INFINITY, MINUS_INFINITY.add(PLUS_INFINITY)); + assertEquals("+inf + -inf != NaN", NaN, PLUS_INFINITY.add(MINUS_INFINITY)); + assertEquals("-inf + +inf != NaN", NaN, MINUS_INFINITY.add(PLUS_INFINITY)); assertEquals("-inf + -inf != -inf", MINUS_INFINITY, MINUS_INFINITY.add(MINUS_INFINITY)); } @Test public void testSubtractionCornerCases() { - assertEquals("+n - +inf != +inf", PLUS_INFINITY, ONE.subtract(PLUS_INFINITY)); + assertEquals("+n - +inf != -inf", MINUS_INFINITY, ONE.subtract(PLUS_INFINITY)); assertEquals("+inf - +n != +inf", PLUS_INFINITY, PLUS_INFINITY.subtract(ONE)); - assertEquals("-n - +inf != +inf", PLUS_INFINITY, MINUS_ONE.subtract(PLUS_INFINITY)); + assertEquals("-n - +inf != -inf", MINUS_INFINITY, MINUS_ONE.subtract(PLUS_INFINITY)); assertEquals("+inf - -n != +inf", PLUS_INFINITY, PLUS_INFINITY.subtract(MINUS_ONE)); - assertEquals("0 - +inf != +inf", PLUS_INFINITY, ZERO.subtract(PLUS_INFINITY)); + assertEquals("0 - +inf != -inf", MINUS_INFINITY, ZERO.subtract(PLUS_INFINITY)); assertEquals("+inf - 0 != +inf", PLUS_INFINITY, PLUS_INFINITY.subtract(ZERO)); - assertEquals("+n - -inf != +inf", MINUS_INFINITY, ONE.subtract(MINUS_INFINITY)); + assertEquals("+n - -inf != +inf", PLUS_INFINITY, ONE.subtract(MINUS_INFINITY)); assertEquals("-inf - +n != +inf", MINUS_INFINITY, MINUS_INFINITY.subtract(ONE)); - assertEquals("-n - -inf != +inf", MINUS_INFINITY, MINUS_ONE.subtract(MINUS_INFINITY)); + assertEquals("-n - -inf != +inf", PLUS_INFINITY, MINUS_ONE.subtract(MINUS_INFINITY)); assertEquals("-inf - -n != +inf", MINUS_INFINITY, MINUS_INFINITY.subtract(MINUS_ONE)); - assertEquals("0 - -inf != +inf", MINUS_INFINITY, ZERO.subtract(MINUS_INFINITY)); + assertEquals("0 - -inf != +inf", PLUS_INFINITY, ZERO.subtract(MINUS_INFINITY)); assertEquals("-inf - 0 != +inf", MINUS_INFINITY, MINUS_INFINITY.subtract(ZERO)); - assertEquals("+inf - +inf != +inf", PLUS_INFINITY, PLUS_INFINITY.subtract(PLUS_INFINITY)); + assertEquals("+inf - +inf != NaN", NaN, PLUS_INFINITY.subtract(PLUS_INFINITY)); assertEquals("+inf - -inf != +inf", PLUS_INFINITY, PLUS_INFINITY.subtract(MINUS_INFINITY)); - assertEquals("-inf - +inf != +inf", PLUS_INFINITY, MINUS_INFINITY.subtract(PLUS_INFINITY)); - assertEquals("-inf - -inf != -inf", MINUS_INFINITY, MINUS_INFINITY.subtract(MINUS_INFINITY)); + assertEquals("-inf - +inf != -inf", MINUS_INFINITY, MINUS_INFINITY.subtract(PLUS_INFINITY)); + assertEquals("-inf - -inf != NaN", NaN, MINUS_INFINITY.subtract(MINUS_INFINITY)); } @Test @@ -63,15 +62,15 @@ public void testMultiplicationCornerCases() { assertEquals("+inf * +n != +inf", PLUS_INFINITY, PLUS_INFINITY.multiply(ONE)); assertEquals("-n * +inf != +inf", MINUS_INFINITY, MINUS_ONE.multiply(PLUS_INFINITY)); assertEquals("+inf * -n != +inf", MINUS_INFINITY, PLUS_INFINITY.multiply(MINUS_ONE)); - assertEquals("0 * +inf != +inf", ZERO, ZERO.multiply(PLUS_INFINITY)); - assertEquals("+inf * 0 != +inf", ZERO, PLUS_INFINITY.multiply(ZERO)); + assertEquals("0 * +inf != NaN", NaN, ZERO.multiply(PLUS_INFINITY)); + assertEquals("+inf * 0 != NaN", NaN, PLUS_INFINITY.multiply(ZERO)); assertEquals("+n * -inf != +inf", MINUS_INFINITY, ONE.multiply(MINUS_INFINITY)); assertEquals("-inf * +n != +inf", MINUS_INFINITY, MINUS_INFINITY.multiply(ONE)); assertEquals("-n * -inf != +inf", PLUS_INFINITY, MINUS_ONE.multiply(MINUS_INFINITY)); assertEquals("-inf * -n != +inf", PLUS_INFINITY, MINUS_INFINITY.multiply(MINUS_ONE)); - assertEquals("0 * -inf != +inf", ZERO, ZERO.multiply(MINUS_INFINITY)); - assertEquals("-inf * 0 != +inf", ZERO, MINUS_INFINITY.multiply(ZERO)); + assertEquals("0 * -inf != NaN", NaN, ZERO.multiply(MINUS_INFINITY)); + assertEquals("-inf * 0 != NaN", NaN, MINUS_INFINITY.multiply(ZERO)); assertEquals("+inf * +inf != +inf", PLUS_INFINITY, PLUS_INFINITY.multiply(PLUS_INFINITY)); assertEquals("+inf * -inf != +inf", MINUS_INFINITY, PLUS_INFINITY.multiply(MINUS_INFINITY)); @@ -79,18 +78,6 @@ public void testMultiplicationCornerCases() { assertEquals("-inf * -inf != -inf", PLUS_INFINITY, MINUS_INFINITY.multiply(MINUS_INFINITY)); } - private static void assertThrows(String op, Runnable operator) { - boolean thrown = false; - try { - operator.run(); - } catch (ArithmeticException e) { - if (e.getMessage().equals("MathInt divide by zero")) - thrown = true; - } - if (!thrown) - fail(op + " did not throw an exception"); - } - @Test public void testDivisionCornerCases() { assertEquals("+n / +inf != +inf", ZERO, ONE.divide(PLUS_INFINITY)); @@ -98,14 +85,14 @@ public void testDivisionCornerCases() { assertEquals("-n / +inf != +inf", ZERO, MINUS_ONE.divide(PLUS_INFINITY)); assertEquals("+inf / -n != +inf", MINUS_INFINITY, PLUS_INFINITY.divide(MINUS_ONE)); assertEquals("0 / +inf != +inf", ZERO, ZERO.divide(PLUS_INFINITY)); - assertThrows("+inf / 0", () -> PLUS_INFINITY.divide(ZERO)); + assertEquals("+inf / 0 != nan", NaN, PLUS_INFINITY.divide(ZERO)); assertEquals("+n / -inf != +inf", ZERO, ONE.divide(MINUS_INFINITY)); assertEquals("-inf / +n != +inf", MINUS_INFINITY, MINUS_INFINITY.divide(ONE)); assertEquals("-n / -inf != +inf", ZERO, MINUS_ONE.divide(MINUS_INFINITY)); assertEquals("-inf / -n != +inf", PLUS_INFINITY, MINUS_INFINITY.divide(MINUS_ONE)); assertEquals("0 / -inf != +inf", ZERO, ZERO.divide(MINUS_INFINITY)); - assertThrows("-inf / 0", () -> MINUS_INFINITY.divide(ZERO)); + assertEquals("-inf / 0 != NaN", NaN, MINUS_INFINITY.divide(ZERO)); assertEquals("+inf / +inf != +inf", NaN, PLUS_INFINITY.divide(PLUS_INFINITY)); assertEquals("+inf / -inf != +inf", NaN, PLUS_INFINITY.divide(MINUS_INFINITY));